Mac OSで「iwconfig eth0モードモニター」に相当するものを探しています。
Man iwconfigモードから、モニターは次のことを行います。
「ノードはセルに関連付けられておらず、周波数上のすべてのパケットを受動的に監視しています」
あなたが探しているのは/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
です。これは、便宜上、/usr/local/bin/
にシンボリックリンクしたバイナリコマンドです。
Symlinkの作成:
Sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
監視モードでのスニッフィングの例:
Sudo airport en1 sniff 1
これはチャネル1を傍受し、pcapキャプチャファイルを/tmp/airportSniffXXXXXX.pcap
に保存します(XXXXXXは異なります)。これはtcpdump -r <filename>
で、またはwireshark
で開くと表示できます。
傍受できる近くのアクティブなチャネルを検索するには、次のコマンドを実行します。
Sudo airport en1 -s
キャプチャのトラフィックは可能ですが、ネットワークが開いているか、暗号化キーを持っている場合にのみ、効果的に読み取りを行うことができます。
GUIを使用することもできます。
マーベリックスでは:
-Iフラグをtcpdumpまたはtshark(wiresharkコマンドラインユーティリティ)に渡します。
たとえば、radiotapヘッダーからアプリケーションレイヤーパケットまでのすべてを「save.pcap」という名前のファイルに保存するには、次のようにします。
tcpdump -Ini en0 -w save.pcap
または、プローブ要求の802.11管理フレームをライブで調べるには:
tshark -Ini en0 -s 256 type mgt subtype probe-req
1つのOS Xでrootとしてコマンドを実行するか、カーネルのパケットフィルターにアクセスする権限を自分に付与する必要があることに注意してください。
Sudo chmod 0644 /dev/bpf*
デフォルトでは、OSXのen0はイーサネットポート、en1は空港です
試してください:
iwconfig en1 mode monitor
Sudo tcpdump -Ii en0 > sniff