首页 > 编程知识 正文

关闭本地连接防火墙命令是,linux使用当前目录命令

时间:2023-05-05 08:03:33 阅读:235791 作者:4745

在进程中关闭tcp连接比较简单,直接调用socket的API即可关闭,或不发送心跳机制。

有时候为了测试异常环境,在不断网的情况下,如何使用bash命令关闭TCP的连接呢?

下面谈两种使用bash命令关闭tcp连接的方法:

tcpkill命令

先安装dsniff包:sudo apt install dsniff

下载地址:http://pkgs.repoforge.org/dsniff/

验证是否安装成功:

限制tcp连接:

详细说明:

简单示例:

sudo tcpkill -i ens -9 host 127.0.0.1sudo tcpkill -i ens -9 port 8021 原理

tcpkill的工作原理,实际上就是通过双向fake tcp rst包重置目标连接双方的网络连接,之所以tcpkill不会马上中断目标tcp连接,是因为伪造tcp rst包时,需要填入正确的sequence number,这需要通过拦截双方的tcp通信才能实时得到。所以运行tcpkill后,只有目标连接有新tcp包发送/接受才会导致tcp连接中断。

iptables命令

iptables是一个非常强大的命令,这里仅仅讲一下如何禁用和启动tcp连接

禁用/启用

iptables -A OUTPUT -d 39.156.69.79 -p tcp --dport 443 -j REJECT #禁用

iptables -R OUTPUT 1 -d 39.156.69.79 -p tcp --dport 443 -j ACCEPT #启用
iptables -I OUTPUT 1 -d 39.156.69.79 -p tcp --dport 443 -j ACCEPT

查看规则

iptables -S OUTPUT

清除规则

iptables -F (flush 清除所有的已定规则)
iptables -X (delete 删除所有用户“自定义”的链(tables))
iptables -Z (zero 将所有的chain的计数与流量统计都归零)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。