パケットキャプチャにscapy関数sniff()を使用しています。EAPパケットのみをキャプチャしたい。次のフィルターを使用して、tcpdumpを使用してEAPパケットをフィルター処理できます。
#tcpdump -i mon0 -p ether proto 0x888e tcpdump:警告:mon0:IPv4アドレスが割り当てられていません tcpdump:冗長な出力が抑制されました。完全なプロトコルデコードには-vまたは-vvを使用してください mon0をリッスンし、リンクタイプIEEE802_11_RADIO(802.11とradiotapヘッダー)、キャプチャサイズ65535バイト 13:04:41.949446 80847234901us tsft 48.0 Mb / s 2437 MHz 11g-16dB信号アンテナ1[ビット14]EAPパケット(0)v1、len 5 13:04:46.545776 80851831746us tsft 54.0 Mb / s 2437 MHz 11g-13dB信号アンテナ1[ビット14]EAPパケット(0)v1、len 5
同時に、同じフィルターでsniff()関数を実行していますが、関数はEAPパケットをキャプチャしません。
sniff(filter = "ether proto 0x888e"、iface = "mon0"、count = 1)
sniff()関数がEAPパケットをキャプチャしないのはなぜですか?
編集:
私の遅い反応で申し訳ありませんが、私はあなたが提案したものを試しました:
> conf.iface = 'mon0'
> pkts = sniff(filter="wlan proto 0x888e", count = 1)
tcpdump: WARNING: mon0: no IPv4 address assigned
> pkts
Sniffed: TCP:0 UDP:0 ICMP:0 Other:1
> EAP in pkts[0]
False
しかし、これはまだEAPパケットをキャプチャしません:(