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

标签 python networking packet 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 - 使用 Scapy 和 NetFilter 队列接收自定义协议(protocol)数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862123/

相关文章:

python - Menu 类中的 Tkinter 选项光标

python - Python 中将 (key, value) (key, value) 映射到 (key, (value1, value2))

windows - 如何在多个程序中接收相同的udp流?

r - 从稀疏表构建网络边缘表

c# - 动态分隔符上的字符串拆分

python - 删除非数字列表条目的最有效方法

python - 上一个问题 PySide2 QListView 和 QTableView 的新功能

Linux 出包率

c - 从 C 中的 pcap 文件生成数据包

java - 增加与 mySQL DB 的 Java 连接的客户端数据包大小