Linux の raw socket をつかうと,Ethernet のアドレスも ether type も自由に設定することができる. そこで,Linux マシン 2 台をクロスケーブルでつないで,アドレスはすべて 0,ether type も 0 というパケットをおくってみた. その結果は…
Wireshark (Ethereal) でみてみると,これでもちゃんと相手のマシンでキャプチャされる. ところが,raw socket のプログラムをひらいてもそのパケットをひろうことができない. OS レベルで ether type をしらべて,不正なものはおとしているのだろう. Raw socket をつかうということは,どんなパケットでもなるべくそのままとおしてほしいということなのだが,そうはしてくれない.
キーワード: