包含Linux数据包处理堆栈

时间:2011-10-21 15:37:38

标签: python linux networking

我们偶尔必须调试不能正确处理TCP选择性确认(SACK)选项的故障Cisco路由器。这会导致我们的TCP会话在通过IPTABLES端口重定向规则路由时死亡。

为了帮助诊断,我一直在构建一个基于python的实用程序来构造一个可以随意重现此错误的数据包序列,该实现使用原始套接字来执行此技巧。我有一个ICMP ping很好地工作,但我遇到了UDP实现的障碍,我可以构造,发送和接收数据包没有问题,我看到的问题是Linux不喜欢UDP数据包从远程系统发回并始终发送ICMP目标无法访问的数据包,即使我的python脚本能够接收和处理数据包而没有任何明显的问题。

我的问题:在使用RAW套接字时,是否可以包含Linux UDP堆栈以绕过这些ICMP错误消息?

由于

1 个答案:

答案 0 :(得分:1)

您是否正在接收和处理数据包,只需要抑制ICMP端口无法访问?如果是这样,也许只需在iptables OUTPUT链中添加一个条目就可以删除了它?