问题描述
对于个人项目,我需要捕获数据包。我已经在我测试的以下代码中作为示例放置的端口上完成了此操作。我感兴趣的应用程序在此端口上进行通信,并且一旦打开(程序正在运行),我就进行数据包交换。我通过将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 (将#修改为@)