モジュール |
|
| Packet.dll の定義とデータ構造 | |
| Packet.dll のエクスポートされた関数 | |
| Packet.dll のサンプル | |
packet.dllには二つのバージョンがあります。一つはWindows 95/98ME、そしてWindows NT/2000/XPです。
packet.dllは、システム非依存型なWinPcapのローレベル機能性の手段を供与しながら、レイヤを提供するために誕生しました。この ライブラリはシステム依存な詳細(例えばデバイス管理、アダプタ処理のためのOSとの相互作用、レジストリ内の情報検索など)に対処して、異なる Win32OS間でも同様のAPIをエクスポートします。そのようにして、それを使用するアプリケーションやライブラリがどんなWin32OS環境下でも 再コンパイルなしで実行することが出来ます。
ですが、これまでのところこの移植性は全てのpacket.dll APIに適用されてはいません。例えばカーネルモードダンプのような最近の機能は、WinPcapのWinNTxバージョン内でだけ見られるものです。し たがって、Win9xバージョンで見られる全ての機能はWinNTxでも見られるということです。
このライブラリのほかの重要な役割は、NPFドライバの処理です。packet.dllは、アプリケーションがアダプタにアクセスを試みた時に、 透過的にドライバをインストールしてスタートさせます。そうすることでコントロールパネルを通した、ドライバの手動インストールを避けることが出来ます。
キャプチャアプリケーションを作成していたとしても、もし特定のローレベル必要条件を満たしていないなら、この章で述べられているAPIの代わり に、UNIXパケットキャプチャライブラリ(libpcap)と互換性のある(WinPcap ユーザーズマニュアル参照)の機能を使用することが推奨されています。wpcap.dllは、packe.dllに依存しています が、より強力な迅速で簡単に扱えるプログラミング環境を提供します。wpcap.dllにより、パケットキャプチャ、キャプチャフィルタの作成やダンプを ファイルに保存するといったオペレーションが安全に実行され、かつ直感的に扱えます。更に、libpcapを使用するようにと書かれたプログラムは、この ライブラリのWin32とUNIXバージョンの互換性のおかげで、UNIX環境下で簡単にコンパイルできます。
結論として、WinPcapを使用するアプリケーションのための標準で推奨されている方法はwpcap.dllを介 してなので、今後のリリースでpacket.dllAPIが変更されない、というわけではありません。
ですが、libpcapはポータブルでシステム非依存型のキャプチャAPIとして書かれているので、ドライバによって提供される全ての機能を存分 に有効活用することは出来ません。packet.dllは、これらの機能のうちの一つが必要なときだけお使いください。
documentation. Copyright (c)2002-2003 Politecnico di Torino.
2005 translated by Telebusiness,Inc.
All rights reserved.