c - libnet发送RST数据包

标签 c linux libnet

我只是在试用 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/

相关文章:

linux - mongodb 无法从 mongo.conf 开始

linux - 在 Unix 中以当前日期为后缀批量重命名文件

ios - 为 iOS7 编译 libnet 1.1.7 时遇到问题

c - Libnet基本使用

c - 推送功能期间堆栈结构更新不正确

c - 段错误(适用于 Windows,但不适用于 Unix)

c - 禁止 C 预处理器更改变量的名称

c - 如何使用临时 int (tmp) 在 C 中对结构类型的数组进行冒泡排序?

c - 捕获对地址范围的所有访问 (Linux)

c++ - Libnet 与用于数据包注入(inject)的原始套接字