如何使用tcpkill实用程序终止TCP连接


11

我正在尝试使用终止已建立的TCP连接tcpkill。该连接是开放的HTTPS连接。在netstat上显示为:

tcp        0      0 X.X.X.X:55601         X.X.X.X:https    ESTABLISHED

因此,按照手册页,我输入:

$ tcpkill -i eth1 -9 port 443

tcpkill实用程序输出:

tcpkill: listening on eth1 [port 443]

...然后挂起。等待约15分钟后,我不确定这里发生了什么。

难道我做错了什么?

Answers:


10

为了使tcpkill起作用(即,制作具有正确序列号和源端口的重置数据包),必须有流量。如果仅打印其他内容,则表示没有流量。为了验证您可以运行tcpdump -i eth1 port 443


3

我必须杀死没有流量的已建立连接(JVM上的调试会话)。

tcpkill如@Mark Wagner答案中所述,无法做到,但是killcx1.0.3(link)可以(Ubuntu 10.04)。

这是一个Perl脚本,它依赖于一些库。

编辑

在那个无法被杀死的连接killcx两者的结合tcpkill,并killcx做到了:

说,如果从连接LOCAL:PORTLREMOTE:PORTR

  • 在终端中启动tcpkill :tcpkill port PORTL。Tcpkill将开始监听流量
  • 在第二个终端中启动killcx: killcx REMOTE:PORTR
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.