無線LANのスニファって、どいういうこと?

はじめ、無線用のスニファを作ってくれという、Stream氏の要求の意味が判らなかった。スニファであればWiresharkというフリーかつ、最強のソフトウェアがあり、これ以上のものを作ろうとするのは、ただただ無謀だ。そして、無線機器においてもpromiscuous modeでさえなければきちんとパケットのスニフィングが行なえている。promiscuous modeとは自分のMAC宛以外のパケットも受信するという設定。確かにOffにすれば自分宛以外のパケットはキャプチャ出来なくなる。しかしこれは別段、無線に限った話でもなく、スイッチに接続された有線LANでも(ミラーリングにでもしない限り)同じことだ。しかし、Wireshark程のソフトウェアがこのチェックボックスをわざわざユーザにOffにさせるようなややこしい仕様にしたのには何か意味があるはず…?
ともあれ、WinPcapでコレが実現できるかの検証は行なえる。確か、AutoIt WinPcap UDFに付属のdemoがそのままスニファだったから、後はコレに、えっと、自分のMAC宛じゃないパケットが自分に届くようにするのだから…、パケットのIPヘッダに記されたMACだけを書き換えて…そうすればルータはオレの無線のポートにパケットを…いやいや、スイッチはMACベースでパケットのポートへの振り分けを行なうのだから、むしろスイッチにMACを書き方パケットを投げて、テーブルを更新させる必要が…ん?まって、ポートだって!?
そうだ、無線にはポートなんて無い*1。PCは何処にあるかわからない。ニコニコ動画でボサノバのBGMを流していたDELLのラップトップのところにLet's Noteが置かれたからといって、Let's Noteで再生されていたバ行の腐女子がボサノバに変化するなんてことは無い!なんてことだ、それじゃ無線ルータに接続されたPCは同時に全ての通信にアクセスできる環境にあるってことじゃあないか!コレは、エロい。激しくエロい。
事前準備は不要だ、我が家には2台以上無線LANの使えるPCがある。デモのスニファを起動させ、あとはただ、HTTPだろうが何だろうが通信を行ってやればいい!
が、しかし…
どういうことだ? やはりpromiscuousをONにするとWireshark同様何もパケットをスニフでき無い。 無線ルータはその仕組み上、辺りかまわずパケットをぶちまけることしか方法は無いし、そして、そのパケットはスニファを起動している私のPCにも届いているはず。なのに!
WinPcap無線LANでpromiscuousをサポートしていないという可能性は考えにくい。第一にWirelessの普及は今に始まったことではない。もし技術的に「不可能」でないのであれば、既に対応されているはずだ。それに、技術的かなにかでどうしてもサポートできないという理由であれば、WiresharkはWireless NICを選択した段階で「promiscuous mode」のチェックを外し、グレーアウトするだろう(それが真っ当なソフトウェアGUIの挙動だ)。であれば、考えられるのは環境に依存する問題、Wirelessの仕様に対する「私の」理解不足のどちらかだ。たしかにルーティングだとか勉強した私の学生時代、Wirelessはあまり普及していなかった…。
ネットを検索すること小一時間、スイッチの挙動については詳細な解説があるものの、無線となると案外無いもので、「パケットの受信0です。教えてください!」みたいなページにしかたどり着かない。ひとまず、ここまでの経緯を日記にまとめ、頭を整理しようと、していたところ、ふと、思いついた。
キーワード「promiscuous 対応 無線NIC」で検索。あぁ、なるほど…。つまり、そういうことだ。

*1:注:ここでいうポートとはネットワークのポートではなく、ハブのポート