ARPパケットに対する挙動からネットワーク上の盗聴者を特定する

通信が暗号化されていればまだ良いが, 自分の送受信しているパケットを同一ネットワーク上の信用できない者/物に無断で見られるのはやはり気持ちの良いものではない. 本エントリではそのような不届き者の存在を仮定して, その不届き者を比較的簡単に特定するといった試みを行う.

お断り

本エントリでの試行は当然ながら私個人のローカル LAN 上で行なっており, 同様の試行を公衆回線上などで行うと迷惑/法に抵触する可能性があるのでやめること. 本エントリに起因する直接的又は間接的な損害に関して, その理由及び原因を問わず著者(Roki) は一切の責任を負わない.

ネットワーク盗聴を検出する原理

ネットワークに接続するためには, 大抵コンピュータに NIC を装着して TCP/IP の設定を済まし, ハブに接続する. 同プロトコルにおける各コンピュータの通信では, IP アドレスと MAC アドレスによる論理情報と物理情報の組み合わせを利用して, 目的のコンピュータに対するパケットの送信を実現する. 通常, その過程で NIC は自分とは無関係であるパケットを破棄する. しかし NIC をプロミスキャスモードにすると, 自分とは無関係であるパケットを破棄せずに取り込むようになる. 盗聴者はこれを利用して, 同一ネットワーク上を流れる他人のパケットを取得できる.