简介

在linux系统中,遇到TCP链接迟迟不能释放的情况,类似FIN_WAIT1、FIN_WAIT2的状态,释放时间不确定,而且对应的程序已经关闭,相应的端口也不再监听,无法通过杀进程来解决,这种情况下,为了快速恢复正常,不得不采用重启服务器的方法加以解决,在经过各大网站搜索找到linux下dsniff包中含有tcpkill命令,该命令可以将上述状态的TCP链接加以清除,进而免除服务器重启的情况

搭建

安装

该命令在dsniff这个集成工具包里

yum install epel-release -y
yum install dsniff -y

这里已经安装完成,系统里有tcpkill这个命令可以使用了

参数

host :指定主机名或ip,比如 host 10.0.1.198

port:指定端口 比如 port 80

net: 指定网段。比如 net 10.0.1.198/24

portrange:指定一个端口范围。比如 portrange 1-1024

-i 指定网卡 比如 -i eth0

src 表示连接的来源地 ,比如 src net 10.0.1.198

dst 表示连接的目的地 ,比如 dst port 80

src or dst 表示连接的来源或目的地 ,比如 src and dst host 10.0.1.198

src and dst 表示连接的来源和目的地 ,比如 src and dst portrange 6000-6010

使用

举例,我要干掉本机未被释放的2222端口

tcpkill -9 -i eth0 host 10.0.1.197 and port 2222

如果觉得该文章对你有帮助的话请给我点个👍吧,感谢

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐