使用Scapy和NetFilter队列接收自定义协议数据包

时间:2015-04-25 07:02:20

标签: python networking packet scapy netfilter

我正在做一个涉及使用包含某些特定字段的自定义图层来填充数据包的项目。我设法使用这里的指南做到了这一点:

http://www.secdev.org/projects/scapy/doc/build_dissect.html

该指南非常适合如何使用自定义图层构建和发送数据包,但不是如何接收它们。

我有一个包含以下形式的数据包:

IP()/CustomLayer()/ICMP()

我正在将此数据包发送到另一台主机,该主机将使用python的netfilter队列和scapy库接收数据包。

我的问题是,如何收到包含自定义图层的传入数据包,并且仍然可以访问这些字段?尝试使用

解析数据包
IP(packet)

似乎无法正常工作.. 任何帮助是极大的赞赏!

1 个答案:

答案 0 :(得分:3)

您是否曾尝试先声明空数据包?

pkt = IP()/CustomLayer()/ICMP()

然后

pkt = IP(packet)

点击此处,您可以找到问题的解决方案:Extract Scapy Custom layer