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