4

Windows 7 の cygwin で libpcap をインストールしようとしましたが、次のエラーが発生しました: $ ./configure . . . . . configure: エラー: 詳しくは INSTALL を参照してください

どうすればこれを解決できますか? 私は最新バージョンである libpcap-1.0.0 を使用しています。

4

3 に答える 3

10

http://mathieu.carbou.free.fr/wiki/index.php?title=How_to_install_Winpcap_/_Libpcap_under_Cygwin

libpcap 開発パックは、 http: //www.winpcap.org/devel.htm から入手できます。

詳細は次のとおりです。

Winpcap のセットアップ

  1. パックをダウンロードして解凍します。この例では、WpdPack_4_0_1.zip を使用します。

  2. 次のようにライブラリをコピーします。

    • WpdPack\Lib\libpacket.a を cygwin\lib\ に
    • WpdPack\Lib\libwpcap.a を cygwin\lib\ に
  3. フォルダ cygwin\usr\include\pcap\ を作成します

  4. すべてのヘッダーを WpdPack\Include から cygwin\usr\include\winpcap\ にコピーします

  5. 次のように入力して、Winpcap ライブラリがインストールされていることと、それらがパスにあることを確認してください。

    which packet.dll
    which wpcap.dll
    

私にとって、それらは /cygdrive/c/WINDOWS/system32/ にあります

Cygwin を使用したビルド例

WpdPack\Examples-pcap\basic_dump\ への cygwin プロンプトを開き、次を実行します。

基本ダンプ:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap"
LIBS="-lwpcap"
PROG="basic_dump"
gcc $CFLAGS -c $PROG.c
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS
./$PROG.exe

basic_dump_ex:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap"
LIBS="-lwpcap"
PROG="basic_dump_ex"
gcc $CFLAGS -c $PROG.c
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS
./$PROG.exe

場合リスト:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap"
LIBS="-lwpcap"
PROG="iflist"
gcc $CFLAGS -c $PROG.c
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS
./$PROG.exe

pcap_filter (およびその他):

I think you can catch the pattern ;) Only replace PROG=... by the program name and it should compile.

UDPダンプ:

CFLAGS="-g -Wall -mno-cygwin -I /usr/include/pcap"
LIBS="-lwpcap -lwsock32"
PROG="UDPdump"
gcc $CFLAGS -c $PROG.c
gcc $CFLAGS -o $PROG.exe $PROG.o $LIBS
./$PROG.exe

たとえば、pool.ntp.org で時刻同期を実行してテストできます。

于 2013-03-23T02:58:50.347 に答える
5

libpcap ソースには、Windows サポートのすべてではなく一部が含まれています。ネットワーク トラフィックをキャプチャするために使用されるメカニズムは、OS に大きく依存します (アプリケーションからその詳細を隠すために libpcap が存在するのはそのためです)。

UN*Xes では、メカニズムは OS の一部であるため、libpcap はそのメカニズムを提供する必要はありません。

Windows では、OS にそのようなメカニズムがないため、WinPcap は、カーネル モード ドライバー、ドライバーと対話する低レベル ライブラリ、および低レベル ライブラリを使用する libpcap のモジュールを組み合わせます。

libpcap のソースにはドライバーや低レベルのライブラリが含まれていないため、Windows 用のバージョンの libpcap をビルドするには不十分です。

他の回答が示すように、WinPcap が必要です。

于 2013-03-24T00:42:24.040 に答える
4

これが遅い返信であることはわかっていますが、Windows 7 で同じインストールの問題を経験したところです。

Windows では、Winpcap を使用する必要があります: http://www.winpcap.org/

于 2010-09-21T18:21:53.420 に答える