如何解决访问每个数据包的RAW字段
对于个人项目,我需要捕获数据包。我已经在我测试的以下代码中作为示例放置的端口上完成了此操作。我感兴趣的应用程序在此端口上进行通信,并且一旦打开(程序正在运行),我就进行数据包交换。我通过将prn
替换为prn = lambda x: x.summary()
我的问题如下。我想检索RAW
层中包含它的数据包的内容。一种解决方案是用pkt[3]["RAW"].load()
中的3来制作index
,但这不适用于count = 0
,我想连续地检索数据包。
所以我的想法是为每个数据包创建一个函数,以检查它是否具有RAW
层。如果是这样,它将显示其load
字段。但是我的代码没有索引就无法工作。我想到了foreach循环,但没有成功。
您知道如何进行吗?这是我目前的状态。
from scapy.all import *
def showData():
if (x.haslayer("RAW")):
#do a x[...]["RAW"].load()
pkt = sniff(count=0,filter = "tcp port 6800",prn = lambda x: x.showData())
预先感谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。