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

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

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

该指南非常适用于如何构建和发送具有自定义层的数据包,但不适用于如何接收它们.

我有一个包装的形式:

IP()/CustomLayer()/ICMP()

然后我将此数据包发送到另一个主机,该主机将使用python的netfilter队列和scapy库接收该数据包.

我的问题是,如何接收传入的包含自定义层的数据包,但仍然可以访问字段?尝试解析数据包

IP(packet)

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

解决方法:

您是否尝试过先声明一个空数据包?

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

接着

pkt = IP(packet)

查看此处,您可能会找到解决问题的方法:Extract Scapy Custom layer

上一篇:python-在Windows和Fedora上都安装scapy后,缺少scapy的贡献


下一篇:python-使用Scapy解析数据包字节