Я пишу программу, которая включает в себя scapy, и я пытаюсь обнюхать все пакеты и искать определенное ключевое слово в каждом пакете (например, «TCP»)Фильтрация информации scapy пакетов Python
Вот код, который обнюхивает все пакеты:
def pkt_callback(pkt):
pkt.show()
sniff(iface = 'eth0', prn = lambda x : x.show())
а вот код пытается представить только TCP-пакеты
from scapy.all import *
global my_raw
my_raw = "tcp"
def pkt_callback(pkt):
global my_raw
if my_raw in pkt:
pkt.show()
sniff(iface='eth0', filter="", prn=lambda x: x.show())
print sniff
Вы хотите представить только пакеты, которые включают в себя TCP слой? Если да, то работает ли это, если вы используете верхний регистр «TCP» вместо строчного «tcp» и устанавливаете 'prn = pkt_callback'? – Yoel