Winpcap是windows平台下的一个专业Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。

WinPcap由两部分组成:
1. 驱动程序: 扩展操作系统功能提供低层次的网络访问
2. 动态链接库:运行在Win32平台上的应用程序可以非常方便地访问网络低层次的数据。

Winpcap的安装使用方法


1.下载安装包,开发包

  http://www.winpcap.org/install/default.htm下载winpcap的安装包,
  http://www.winpcap.org/devel.htm下载winpcap的开发包(WinPcap SDK)。

2.执行安装包,这样你的机子就能运行winpcap程序了。

3.解压开发包,解压后除了一些文档、example和demo,要用到的就是include和Lib文件夹;
在VC6.0的Tools–>Option–>Directories的Include fils 和library files加入winpcap的include和lib目录。

4.在Link选项卡加入wpcap.lib ws2_32.lib Packet.lib

5.在预定义宏添加WPCAP,HAVE_REMOTE或直接在pcap.h文件中加入

       #define WPCAP

       #define HAVE_REMOTE

6.开始编写wpcap程序。

————————————————————————————————————————————

ReBuild All:

报错如下:

error C2144: syntax error : missing ‘;’ before type ‘unsigned int’

定位在_W64这一行

12345678910111213141516#ifdef _WIN64typedef unsigned __int64 uintptr_t;#elsetypedef _W64 unsigned int uintptr_t;#endif#define _UINTPTR_T_DEFINED#endif #ifndef _INTPTR_T_DEFINED#ifdef _WIN64typedef __int64 intptr_t;#elsetypedef _W64  int intptr_t;#endif#define _INTPTR_T_DEFINED#endif

原因是vc6.0并不完美支持c++99标准(VC6的PSDK版本低,不支持W64),在64位cpu中编译会有问题,将winpcap开发包换到4.0.1版本或者其他早期版本及以下错误消失   

当然你也可以使用VS2005、VS2008、VS2010等,可以跟进高版本的WinCap。

之前尝试 “去掉_W64” 或者 “在 pcap.h中#define _W64” 没能解决问题。

 ——————————————————————————————————————————

 winpcap开发环境需要是windows操作系统,而且必须安装winpcap驱动才可以调试您的程序。

https://www.cnblogs.com/gaoquanning/p/5485763.html