Параметры фильтра для функции sniff в scapy
Я работаю над инструментом на основе scapy, где в какой-то момент мне нужно обнюхать пакет на основе протокола и ip-адреса назначения
Я хотел бы знать о том, как можно использовать параметр фильтра в функции sniff (). Я попытался использовать формат в документации, но в большинстве случаев это приводит к таким проблемам. фильтр функции нюхать в scapy не работает должным образом .
тот, который я использовал, был
a=sniff(filter="host 172.16.18.69 and tcp port 80",prn = comp_pkt,count = 1)
спасибо заранее!
1 ответов
sniff()
использует фильтр пакетов Беркли (BPF) синтаксис (тот же, что и tcpdump
), вот несколько примеров:
пакеты от или к хосту:
host x.x.x.x
только сегменты TCP SYN:
tcp[tcpflags] & tcp-syn != 0
все ICMP, но эхо-запросы/ответы:
icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply