使用killcx关闭Linux上的tcp连接

使用killcx关闭Linux上的tcp连接,第1张

killcx 可以关闭一个linux上的tcp连接,而不管连接的状态是怎么样的(半开,已建立,等待或关闭状态)。

它是一个Perl的脚本程序,在linux上使用需要安装一下它的依赖的包。

它依赖三个包:Net :: RawIP,Net :: Pcap和Net :: Pcap。

安装命令如下:

apt-get install libnet-rawip-perl

apt-get install libnet-pcap-perl

cpan NetPacket::Ethernet

安装完成就可以使用了,使用语法为: killcx ip:port

注意如果关闭半开状态的连接(即只有一端有连接,另外一端没有连接),killcx需要运行在还有连接存在的主机上才可以关闭连接。

参考文档:

killcx官方文档

如何干掉一条tcp 连接(活跃/非活跃)

Linux下面没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。例如要关闭22号端口:$ netstat -anp | grep :22tcp 00 0.0.0.0:22 0.0.0.0:* LISTEN 1666/sshd# -a 显示所有活动的TCP连接,以及正在监听的TCP和UDP端口# -n 以数字形式表示地址和端口号,不试图去解析其名称(number)# -p 列出与端口监听或连接相关的进程(有个地方需要注意,下面会提到)(pid)知道了22号端口对应的进程ID 1666,只要:$ kill 1666即可。 其中“-p”选项需要注意一个权限的问题,如果在普通用户登录的shell里面执行netstat命令,那么只能列出拥有该普通用户权限的相关进程,如果想要看到所有的端口情况,最好还是切到root。 附带几个netstat常用选项用法: $ netstat -tn# 列出所有TCP协议的连接状态# -t 只显示与TCP协议相关的连接和端口监听状态,注意和-a有区别(tcp) $ netstat -tuln# 列出所有inet地址类的端口监听状态

recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。 首先阻塞接收的recv有时候会返回0,这仅在对端已经关闭TCP连接时...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7224760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存