メイン   モジュール   デー タ構造   ファイルリスト   データフィールド   グローバル   関連ページ   注意事項   English

WinPcapのコンパイル方法
[WinPcap の内部構造]


 

 このセクションでは、様々なWin32プロットフォーム上でのカーネルレベルとユーザーレベルの量でのWinPcapのコンパイル方法を説明して います。ソースコードはWinPcapのウェブサイト http://winpcap.polito.it/install/  で取得できます。

ドライバのコンパイル

 二つの主要なソースが紺パリうのために使用可能になっています。WindowsNTx用途Windows9x用のものです。NPFドライバはプ ラットフォーム依存型なので、正しいDDKライブラリにリンクするために「それが使われる環境上のOS」でコンパイルすることが強く奨められている、という点に注意してください。例えば、 WindowsNT4のDDKでコンパイルする場合、Windows2000では正しく動作しません。その逆もまた、ソースコードツリーが同じであったと しても同じです。

WindowsNTx上でのドライバのコンパイル

必要なソフトウェア

 これらの条件をシステムが満たしていれば、次のステップに進んでください。

  1. WindowsNTスタートメニューから、プログラムフォルダ、デベロップメントキット(Development Kit)と進み、次いでWindows XXX DDK(XXXはコンパイルする目標のシステム)を選択します。そしてここから、デバッグバージョンをビルドしたい場合はChecked Build Environment、リリースバージョンをビルドしたい場合はFree Build Environmentを選択してください。
  2. コマンドプロンプトが開きます。WinPcapをー巣フォルダ内のPacketNtxディレクトリに移動して、次のコマンドを打ち込みます。

    CompileNT4, to build the driver for Windows NT 4

    Compile2k
    , to build the driver for Windows NT 5 OS (例:Windows 2000 or Windows XP)

    このコマンドは、DDK出力ディレクトリに入れられる(たいていは\i386)ドライバ(packet.sys)を生成します。
  3. KeQueryPerformanceCounter WinNTx カーネル機能の代わりにRDTSC x86インストラクションを使用するドライバの生成が可能です。そのようなドライバは標準のものよりも効率的ではありますが、状況(スピードステップテク ノロジによるプロセッサのような)によってはタイムスタンプ内の矛盾を表示することがあります。このドライバをビルドするには、WinPcapソースフォ ルダ内のPacketNTxディレクトリに移動して、次のコマンドを打ち込みます。
    CompileNT4 RDTSC, to build the driver for Windows NT 4

    Compile2k RDTSC
    , to build the driver for Windows NT 5 OSes, (like Windows 2000 or Windows XP)

注意: 時折、ドライバのコンパイル途中で、多くの'last line incomplete'エラーが表示されることがあります。これらは無視してコンパイルを続けてください。それらのエラーはDDKのバージョンによるバグ が原因です。

Windows9x上でのドライバのコンパイル

 ドライバをコンパイルするのには、これらのソフトウェアが必要です。

 次のステップを踏みます。

  1. dosシェルを開きます。
  2. VisualC++ のBINディレクトリ(例えば C:\DEVSTUDIO\VC\BIN)に進み、次のコマンドを実行します。

    Vcvars32
  3. SDKのディレクトリ(例えば C:\MSSDK)に進み、次のコマンドを実行します。

    Setenv sdk_path

    sdk_pathのあるSDKディレクトリ(例えば Setenv C:\MSSDK)で実行します。
  4. DDKディレクトリ(例えば C:\DDK)に移動して、次のコマンドを実行します。

    Ddkenv 32 net
  5. ドライバのソースコードのディレクトリに移動して、次のコマンドを打ち込みます。

    nmake rtl(リリースバージョン)



    nmake(デバッグバージョン)


    packet.vxdのリリースバージョンはretailディレクトリに、デバッグバージョンはdebugディレクトリにありま す。

注意: システムによっては、NMAKEユーティリティがADRC2VXDを起動できません。これはドラババイナリは正常に生成されましたが、著作権情報がふかさ れなかったということを意味しています。詳細は分かっていません。

packet.dllのコンパイル

 NPFのように、二つのソースがコンパイルのために使用可能になっています。WindowsNTx用と、Windows9x用です。それらは PacketNTx\dll\と、Packet9x\dll\内にあります。

 必要なソフトウェア

 PACKET.DLLをコンパイルするには、VisualC++IDE内にあるディレクトリPacketNTx\dll\project(それか Packet9x\dll\project)のプロジェクトをロードする必要があります。PACKET.DLLとpacket.libファイルを獲得する ために、プロジェクトをビルドします。前者は実際のファイルで、後者はそれを利用するためにアプリケーションがリンクする必要のあるファイルです。これら のファイルのデバッグバージョンはdll\project\debugディレクトリに、リリースバージョンはdll\project\releaseディ レクトリに生成されます。

wpcap.dllのコンパイル

 wpcap.dllはどのWin32プラットフォーム上でもコンパイルされ、生成されるdllはシステム依存型です。

 wpcap.dllは、www.tcpdump.org のlibpcapバージョンのソースコードを含んでいることに注意してください。配布されているWinPcapソースコードのディレクトリwinpcap \wpcap\prjにコピーするだけで、別のlibpcapバージョンを包含したりビルドしたりすることが出来ます。

必要なシステム

 プロジェクトファイルは、配布されているWinPcapソースコードのディレクトリwinpcap\wpcap\prj 内にあります。Visual C++ 6.0 IDE からプロジェクトをロードしてプログラムをビルドしてください。出力ファイルwpcap.lib winpcap\wpcap\lib\ 内に生成されます。出力dll のwpcap.dll winpcap\wpcap\prj\release winpcap\wpcap\prj\debug のどちらかに、バイナリのタイプによって生成されます。

 


documentation. Copyright (c) 2002-2003 Politecnico di Torino.
2005 translated by Telebusiness,Inc.
 All rights reserved.