我试图在 Windows 7 上的 cygwin 下安装 libpcap,但我遇到了这个错误: $ ./configure 。. . . . 配置:错误:有关详细信息,请参阅安装
我该如何解决这个问题?我正在使用最新版本的 libpcap-1.0.0。
http://mathieu.carbou.free.fr/wiki/index.php?title=How_to_install_Winpcap_/_Libpcap_under_Cygwin
libpcap 开发包可以从 http://www.winpcap.org/devel.htm找到
详细步骤如下:
设置 Winpcap
下载并解压缩包。我们将在此示例中使用 WpdPack_4_0_1.zip。
像这样复制库:
- WpdPack\Lib\libpacket.a 到 cygwin\lib\
- WpdPack\Lib\libwpcap.a 到 cygwin\lib\
创建文件夹 cygwin\usr\include\pcap\
将所有头文件从 WpdPack\Include 复制到 cygwin\usr\include\winpcap\
确保您已安装 Winpcap 库并且它们在您的路径中,方法是键入:
which packet.dll which wpcap.dll
对我来说,它们位于 /cygdrive/c/WINDOWS/system32/
使用 Cygwin 构建示例
打开 cygwin 提示符到 WpdPack\Examples-pcap\basic_dump\ 并执行:
基本转储:
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 进行时间同步来进行测试。
libpcap 源包含部分但不是全部的 Windows 支持。用于捕获网络流量的机制非常依赖于操作系统(这就是 libpcap 存在的原因——从应用程序中隐藏该细节)。
在 UN*Xes 上,该机制是操作系统的一部分,因此 libpcap 不必提供该机制。
在 Windows 上,操作系统中没有这种机制,因此 WinPcap 结合了内核模式驱动程序、与驱动程序对话的低级库以及使用低级库的 libpcap 模块。
libpcap 源不包含驱动程序或低级库,因此仅构建 Windows 版本的 libpcap 是不够的。
正如其他答案所示,您需要 WinPcap。
我知道这是一个迟到的回复,但我刚刚在 Windows 7 上遇到了同样的安装问题。
在 Windows 上,您应该使用 Winpcap: http: //www.winpcap.org/