Сохраняйте перехваченные пакеты в переменную или файл после прерывания клавиатуры с помощью scapy и python.

Может кто-нибудь помочь мне с сохранением перехваченных пакетов в файл с помощью scapy? Мне нужно использовать scapy для обнюхивания до прерывания клавиатуры и сохранения обнюханных пакетов в файл pcap, проблема в том, что прерывание клавиатуры заставляет обнюхиваемые пакеты исчезать, так что есть ли способ сохранить пакеты во время обнюхивания? или сохранить их в переменную, даже если есть исключение?

Это то, что я пробовал до сих пор, но исключение не позволило сохранить его:

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

person G. Mo    schedule 28.06.2017    source источник


Ответы (1)


Возможно, вы можете сохранить их с помощью функции

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.

person Martín Gómez    schedule 09.07.2017