Linuxではどうやって生のパケットを扱うんでしょうねって話 ★はじめに BSDではbpfを使用して生のパケットをやりとりすることができます。 ところがlinuxのカーネルにはbpfなんてものはありません。 でも、bootpやdhcp, tcpdumpなんかでプロトコル無しなパケットを やりとりしているはずです。いったいどうやっているんでしょう。 ★packetインターフェースってのがあるのよ linuxのアプリケーションでは、ネットワークインターフェースへの入出力は、 すべてsocketインターフェースを使用することになります。 socketを使用するということは、カーネルのサポートするなんらかの プロトコルを使用するということです。生のパケットをやりとりするためには packet interface(PF_PACKET)というプロトコルドライバ?を利用します。 ★具体的にはこんな感じ