一说起TCP, 就是什么三次握手, 四次挥手. 而这次想讨论的是:
在不重启各自socket程序情况下, 将ESTABLED链接断开 ???...127.0.0.1:6666
tcpdump更是见证了这电光火石的瞬间, 第二个报文的R, 就是 reset的 flags, 这样会client那边的链接直接重置断开...tcpkill的原理和刚才的iptables相似, 也是发送了一个链接重置的R标志报文, 迫使对方关闭断开连接, 只是相对而言会比较智能一点, 因为它会自动构造报文并发送....上面的方法所用到就是最后一种标志:RST重置链接
所以总得而言, iptables的DROP行为, 能够阻止链接的建立, 但是对于已经建立起来的链接, 顶多只能阻止数据的传输, 但是不能断开链接, 链接的断开应该只有下面几种可能...:
socket 的主动close, 也就是发送 fin报文 ( 应用层程序或者内核 )
TCP链接的超时自动断开 ( 这个过程可能会比较耗时 )
伪造报文发送RST
除了上面的条件, 还有一个点需要注意的