tcpkill清除异常tcp连接
使用AED时,先清除患者口腔中的异物,再连接电极片 #生活技巧# #紧急应对技巧# #心肺复苏术#
在linux系统中,遇到TCP链接迟迟不能释放的情况,类似FIN_WAIT1、FIN_WAIT2的状态,释放时间不确定,而且对应的程序已经关闭,相应的端口也不再监听,无法通过杀进程来解决,这种情况下,为了快速恢复正常,不得不采用重启服务器的方法加以解决,在经过各大网站搜索找到linux下dsniff包中含有tcpkill命令,该命令可以将上述状态的TCP链接加以清除,进而免除服务器重启的情况。
1、tcpkill的工作原理
实际上就是通过双向fake tcp rst包重置目标连接双方的网络连接,之所以tcpkill不会马上中断目标tcp连接,是因为伪造tcp rst包时,需要填入正确的sequence number,这需要通过拦截双方的tcp通信才能实时得到。所以运行tcpkill后,只有目标连接有新tcp包发送/接受才会导致tcp连接中断。tcpkill 一定要运行在能接收到应答包的主机上在,最好运行在连接或半连接存在的一端主机上,tcpkill干掉活跃连接即可
2、安装dsniff工具包
2.1 rpm包安装
下载地址:http://pkgs.repoforge.org/dsniff/
此目录中可以找到相应系统的版本
wget http://pkgs.repoforge.org/dsniff/dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
rpm -ivh dsniff-2.4-0.1.b1.el5.rf.x86_64.rpm
2.2 yum安装
yum -y install dsniff
安装完成后可以发现系统多了一个tcpkill的命令
2.3 命令使用方法如下:
2.3.1 tcpkill语法
tcpkill [-i interface] [-1...9] expression
-i 指定要侦听的接口,any代所有接口
-1…9指定终止连接时使用的暴力程度。快速连接可能需要更高的数量才能在移动网络中建立RST接收窗口。默认值为3。
host :指定主机名或ip,比如host 10.0.11.22
port:指定端口 比如 port 80
net: 指定网段。比如 net 128.3
portrange:指定一个端口范围。比如portrange 1-1024
2.3.2 tcpkill操作实例
确定连接服务端8082端口的这条连接netstat -altupn | grep 8082
tcpkill -i any -9 host 49.7.40.205
2.3.3 tcpkill使用扩展
tcpkill -9 port ftp &>/dev/null
tcpkill -9 host 192.168.10.30 &>/dev/null
tcpkill -9 port 53 and port 8000 &>/dev/null
tcpkill -9 net 192.168.10 &>/dev/null
tcpkill -9 net 192.168.10 and port 22 &>/dev/null
网址:tcpkill清除异常tcp连接 https://www.yuejiaxmz.com/news/view/965806
相关内容
测试tcp连接数工具TCP 确认应答/超时重传机制
net.ipv4.tcp
TCPcopy:分布式TCP压力测试工具
TCP拆包粘包之分隔符解码器
Wireshark网络分析就这么简单——TCP(1)
数据传输与IoT:设备连接与数据传输
轻松解锁Windows 10 DNS设置:快速开启、优化网络连接指南
主机甲向主机乙发送一个 (SYN = 1, Seq = x) 的 TCP 段,期
TCP通信调试助手===wireshark使用