■ はじめに coLinux や OpenVPN を使ったことのある方なら仮想ネットワークアダプタ「TAP-Win32」の名前をご存知でしょう。 TAP-Win32は CIPE-Win32 というプロジェクトによる GPL のオープンソースソフトウェアで、実体は Windows のカーネルモード下で動作するネットワークドライバです。 TAP は本物のネットワークデバイスのように振る舞うので、これを使って Windows 上に独立した仮想ネットワーク環境を設置することが可能です。 TAP-Win32 を自作コードから利用するための開発者向けの情報は現時点ではあまり多くありませんが、面白そうなので扱い方を調べてみました。 データリンク層以降の生のパケットデータをユーザモードのプログラムから直接操作できるためアイディア次第で応用がききそうです。 今回は手始めに TAP デバイスからデータを読み出