プロトコルと宛先のIPアドレスに基づいてパケットをスニッフィングする必要があるscapyベースのツールに取り組んでいます
Sniff()関数のフィルターオプションを使用する方法について知りたいのですが。ドキュメントでフォーマットを使用してみましたが、ほとんどの場合、このような問題が発生します。 scapyのsniff関数のフィルターが正しく機能しません 。
私が使ったのは
a=sniff(filter="Host 172.16.18.69 and tcp port 80",prn = comp_pkt,count = 1)
前もって感謝します!
sniff()
はBerkeley Packet Filter(BPF)を使用します syntax (tcpdump
と同じ)、ここにいくつかの例があります:
ホストとの間のパケット:
Host x.x.x.x
TCP SYNセグメントのみ:
tcp[tcpflags] & tcp-syn != 0
ICMPを除くすべての要求/応答をエコーします。
icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply