我只是在试用 code snippet here为了乐趣和学习。我在界面上进行了一次 wireshark 捕获,发现了一些奇怪的东西。
SYN
数据包按预期发送,我似乎收到了 SYN ACK
作为响应。发送每个 SYN 数据包后,我每次 sleep 大约 5 秒。我注意到我的机器在收到每个 SYN ACK
后向服务器发送一个 RST
数据包,即使没有相同的代码。为什么会发生这种情况,我该如何防止这种情况发生?
最佳答案
我遇到了同样的问题,但是在搜索了很多关于在防火墙中添加过滤器的说法后,不允许内核发送 RST 数据包。所以查看了 unix 命令 iptables
,在 OUTPUT
链上,您可以应用一个过滤器,说明使用 tcp 协议(protocol)和 RST 标志集将其转到特定的 dst。命令是:
sudo iptables -A OUTPUT -p tcp -d <dst-ip> --tcp-flag SYN,RST RST -j DROP
关于c - libnet发送RST数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728667/