Hel*_*hne 12 python pickle scapy
我需要腌制一个scapy包.大部分时间都可以使用,但有时候pickler会抱怨一个函数对象.根据经验:ARP数据包泡菜很好.一些UDP数据包存在问题.
我的解决方案(受到scapy邮件列表的启发)如下:
class PicklablePacket:
"""A container for scapy packets that can be pickled (in contrast
to scapy packets themselves)."""
def __init__(self, pkt):
self.contents = bytes(pkt)
self.time = pkt.time
def __call__(self):
"""Get the original scapy packet."""
pkt = scapy.Ether(self.contents)
pkt.time = self.time
return pkt
Run Code Online (Sandbox Code Playgroud)
在任何地方,我希望scapy Packet通过一个,Queue我只需将它包装在一个PicklablePacket和__call__之后.我不知道没有以这种方式保留的数据.但是这种方法仅适用于Ethernet数据包.(在常规NIC(而不是WLAN)上嗅探的所有数据包都是以太网.)它可能也可以扩展为适用于其他类型的数据包.
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |