如何将获得的数据包存储到pkt.show()命令的变量中?

时间:2019-05-24 11:04:02

标签: python scapy

我想存储通过scapy的sniff命令获得的Raw数据包,并进一步使用它。 我该怎么办?

我可以在命令提示符下打印数据,但无法存储。

这是我的代码:

def pkt_callback(pkt):
    self.S = pkt.show()         
    self.P = sniff(count = self.C, filter="udp", prn = pkt_callback)

运行此代码时,我接收到数据但无法存储

我希望将负载/原始数据存储到变量中

load = '\x17\x03\x01\x01`\ngD\xdb/\xe5m!jEm\xe1%\x88\xa9~ *y\xcc\xd1T\xb6Vg\xb3\x82\\\x00\x91\r\xc1\xe4\xe0\xdb\xa2|\xc2\x86\xa2\x99J0\x86V\xc5\xad}y\xb4k&\x1e$\xcb\xcc\x99\xe0\xdb\xcf<\x1e\xc1\x10ZD\xc5\x8b\xaa\xa0\x0c\x08\xc4\xa1\xa0&\xd6.\x1f\

但无法做到。

1 个答案:

答案 0 :(得分:0)

我有一个对我有用的答案,希望这可能对某人有所帮助

    pkts = sniff(count =self.c,filter = "dst host %s or src host %s and udp" % (self.dst, self.src))

    pkt = pkts[0]          

    pkt_raw = raw(pkt)
    print("Raw packet data",pkt_raw)

https://buildmedia.readthedocs.org/media/pdf/scapy/stable/scapy.pdf

找到了解决方案