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

Python 使用Scapy和NetFilter队列接收自定义协议数据包,python,networking,packet,scapy,netfilter,Python,Networking,Packet,Scapy,Netfilter,我正在做一个项目,涉及到用包含一些特定字段的自定义层填充数据包。我通过这里的指南做到了这一点: 该指南对如何使用自定义层构建和发送数据包很有帮助,但对如何接收数据包却没有太多的帮助 我有一个包,上面写着: IP()/CustomLayer()/ICMP() 我将这个数据包发送到另一个主机,该主机将使用python的netfilter队列和scapy库接收数据包 我的问题是,如何接收包含自定义层的传入数据包,并且仍然可以访问字段?正在尝试使用解析数据包 IP(packet) 似乎不起作用。。

我正在做一个项目,涉及到用包含一些特定字段的自定义层填充数据包。我通过这里的指南做到了这一点:

该指南对如何使用自定义层构建和发送数据包很有帮助,但对如何接收数据包却没有太多的帮助

我有一个包,上面写着:

IP()/CustomLayer()/ICMP()
我将这个数据包发送到另一个主机,该主机将使用python的netfilter队列和scapy库接收数据包

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

IP(packet)
似乎不起作用。。
非常感谢您的帮助

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

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

pkt = IP(packet)
查看此处,您可能会找到问题的解决方案: