我正在做一个项目,涉及用包含某些特定字段的自定义层填充数据包。我设法使用这里的指南做到了这一点:
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 - 使用 Scapy 和 NetFilter 队列接收自定义协议(protocol)数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862123/