Mac OS X Lion で無線LANのモニタ モード
»
無線LANのドライバによっては、モニタ モードというものをサポートしている場合があります。
通常、LinuxのPF_PACKETや、*BSDのbpfをつかったパケットキャプチャでは、
MACフレームまではキャプチャできますが、対象が無線LANデバイスであっても、無線LAN特有の信号や、電界強度などは取得することができません。
ドライバがモニタ モードをサポートしていればそのような情報も取得できます。
Linuxでは、
# iwconfig wlan0 mode monitor
とすれば、簡単にモニタモードにできるのですが、Mac OS X では標準のコマンドが見当たらなかったので、
コードを書く必要があります。
と言っても、 ioctl()で、 BIOCSDLT というフラグに DLT_IEEE802_11 という値を食わせるだけでとても簡単です。
int dlt=DLT_IEEE802_11;
if(ioctl(fd,BIOCSDLT,&dlt)==-1){
perror("make_recv_dev_sub:ioctl:BIOCSDLT");
close(fd);
return(-1);
}
実行すれば、無線LANのアイコンが目玉に変わります。
SpecialPR