使用Scapy和Python键盘间断后,将嗅探数据包保存到变量或文件中



有人可以帮助我使用Scapy将嗅探数据包保存到文件中吗?我需要使用Scapy嗅探直到键盘插入并将嗅探数据包保存到PCAP文件中,问题是键盘插入使嗅探数据包失去了,那么在嗅探时是否可以保存数据包?或将它们保存到变量中,即使有例外?

这是我到目前为止尝试的,但是exeption阻止了它被保存:

from scapy.all import *
try:
    packets = sniff()
except KeyboardInterrupt as ki:
    pass

也许您可以使用功能

存储它们
from scapy.all import *
packet_list = []
def storepkt(pkt):
    packet_list.append(pkt)

try:
    sniff(ptr=storepkt)
except KeyboardInterrupt as ki:
    #Here you should have access to the packet_list list and do whatever you need with them, i.e.:
    for pkt in packet_list:
        pkt.show()

请注意,此代码适用于Python 2.7。

最新更新