在 Visual C++ 中使用 WinPcap / Win10Pcap

Install WinPcap driver

Pcap 的 Windows 版,目前我看到的有两个:
1. WinPcap:目前最新的版本是 4.1.3,它兼容于 NDIS 5.x driver model。
2. Win10Pcap:目前最新的版本是 10.2.5002,它兼容于 NDIS 6.x driver model。

无论是 WinPcap 还是 Win10Pcap,它们两个的 SDK 都是一样的。

如果你的 Windows 版本是 Windows 7 及以上版本,可以装 Win10Pcap;否则,建议装 WinPcap。主语:虽然 Win10Pcap 的名字是 Win10,但是它实际上兼容于 Win7、Win8/8.1、Win10。

下载 WinPcap SDK

WinPcap / Win10Pcap 的 SDK 都在这里:WinPcap Developer’s Pack。解压后,得到:

WpdPack\Include*.*
WpdPack\Lib\Packet.lib
WpdPack\Lib\wpcap.lib
WpdPack\Lib\x64\Packet.lib
WpdPack\Lib\x64\wpcap.lib

把他们复制到一个特定的目录中去。比如,我是为它们创建了一个目录:C:\Lib\WinPcapSDK

C:\Lib\WinPcapSDK\Include
C:\Lib\WinPcapSDK\Lib\x86
C:\Lib\WinPcapSDK\Lib\x64

相应的文件拷贝到相应的目录里面去。

环境变量

创建一个叫做 WinPcapSDK 的环境变量,指向 C:\Lib\WinPcapSDK 目录。如果您的目录和我不一样,请用您自己的目录:

%WinPcapSDK% = C:\Lib\WinPcapSDK

在 Visual C++ 中使用 WinPcap / Win10Pcap_第1张图片

创建 VC++ 项目

创建一个 VC++ 项目。

在项目属性页,设置 C/C++ | General | Additional Include Directories:增加 $(WinPcapSDK)\Include
在 Visual C++ 中使用 WinPcap / Win10Pcap_第2张图片

设置 Linker | General | Additional Library Directories:

对于 Win32 项目(Configuration:All Configurations; Platform: Win32),在此项中增加:$(WinPcapSDK)\Lib\x86
在 Visual C++ 中使用 WinPcap / Win10Pcap_第3张图片

对于 x64 项目(Configuration:All Configurations; Platform: x64),在此项中增加:$(WinPcapSDK)\Lib\x64
在 Visual C++ 中使用 WinPcap / Win10Pcap_第4张图片

在 Linker | Input | Additional Dependencies 中,增加:

Packet.lib
wpcap.lib

在 Visual C++ 中使用 WinPcap / Win10Pcap_第5张图片

在 C/C++ | Preprocessor | Preprocessor Definitions 中,增加:

WIN32
HAVE_REMOTE

在 Visual C++ 中使用 WinPcap / Win10Pcap_第6张图片

然后就能在 VC++ 项目中使用 WinPcap 中的各种定义了。

如下图所示,我们在程序中引入 pcap.h 头文件,编译顺利通过:
在 Visual C++ 中使用 WinPcap / Win10Pcap_第7张图片

你可能感兴趣的:(C++,C)