私は tcpdump (バージョン 4.1.1) を使用して、 airmon-ngによって設定されたモニター モードインターフェイスからワイヤレス フレームをキャプチャしようとしました。これまでのところ何も起こっていないので、「試み」と言います。それは非常に奇妙です:
tcpdump -i mon0
上記のコマンドは正常に機能します。すべてのビーコンとプローブ リクエスト、および考えられるすべてのフレームが画面全体に表示されます。ただし、出力をキャプチャ ファイルに書き込もうとすると、
tcpdump -i mon0 -w captures.cap
実際のデータを含むレイヤ 3 パケットを含め、何もキャプチャされません。tcpdumpを強制終了すると、
13507 packets captured
13507 packets received by filter
0 packets dropped by kernel
(この場合、13507 は任意の数字です) 完全に空のキャプチャ ファイルです。
ただし、同じインターフェイスで tshark または wireshark でキャプチャを実行すると、フレームは問題なくファイルにキャプチャされます。
GUI のオーバーヘッドがなく、「-z」オプションがあるため、wireshark の代わりに tcpdump を使用することをお勧めします。これにより、キャプチャ ファイルを取得して、それを別のコンピューターにコピーするシェル スクリプトに渡すことができます。私のネットワーク上。tshark や wireshark には同様の機能がなく、キャプチャ ファイルの存在を確認するプログラムを作成することは避けたいと考えています。
tcpdump の動作について根本的な誤解がありますか、それともここで何か奇妙なことが起こっているのでしょうか? 私がやっていることを行うためのより良い方法はおそらくありますか、それとも独自の libpcap ベースのキャプチャ プログラムを作成する必要がありますか?