本文参考了以下文档:
http://www.winpcap.org/docs/docs_411/html/group__wpcapsamps.html
一、 软件准备
1) 下载最新版本的WinPcap安装包。地址:http://www.winpcap.org/install/default.htm
2) 下载最新版本的WinPcap开发包。地址:http://www.winpcap.org/devel.htm
3) 安装WinPcap。双击步骤1)下载的WinPcap_4_1_1.exe(这是到目前为止最新版本的WinPcap安装包),
图1
点击Next按钮,
图2
点击Next按钮,
图3
点击I Agree按钮,
图4
Automatically start the WinPcap driver at boot time这个复选框可选也可不选,然后点击Install按钮,
图5
点击Finish按钮,即安装完成。
这个安装过程主要工作是将wpcap.dll拷贝到了系统目录,比如C:/WINDOWS/system32中,并注册。
4) 解压开发包步骤2)下载的WpdPack_4_1_1.zip到一个指定的目录,比如:D:/WinPcapDevelopmentPack,解压后的目录结构如下:
图6
其中docs目录中包含了WinPcap相关文档,Examples-pcap和Examples-remote都是使用WinPcap的一些例子程序,Include目录包含的是头文件,Lib目录中包含的是库文件。
到此,准备工作完成。
二、 VC环境配置
用微软Visual C++创建一个应用,使用wpcap.dll,可按照下列步骤:
- 在每个需要使用库导出的函数(functions exported by library)的源文件开始处,包含pcap.h头文件;
- 如果程序用到了WinPcap和Win32平台呢相关的函数,记得在预处理器定义中包含WPCAP;
- 如果程序用到了WinPcap的远程抓取功能,则需要在预处理器定义中加入HAVE_REMOTE,而不要在源文件中直
接包含头文件remote-ext.h;
- 根据你的目标平台(x86 或 x64),将wpcap.lib包含到连接选项中。x86的wpcap.lib可以在WinPcap developer’s pack
的/lib目录下找到,x64的wpcap.lib可以在/lib/x64目录下找到;
下面讲述怎样设定Microsoft Visual Studio,主要详细讲解如何在Visual Studio 2010中如何配置相关环境,Visual Studio 6和Visual Studio 2005中配置情况大致如下:
Visual Studio 6
- 要增加一个预处理器定义,你必须从Project菜单中选择Settings,然后选择C/C++标签,在“Preprocessor Definitions”
对话框中添加预处理定义;
- 要在Microsoft Visual C++中一个项目添加库,首先从Project菜单中选择Settings,然后选择Link标签,并将新库
的名字加入到“Object/library modules”文本编辑框中;
- 如果要添加Visual C++搜索库的路径,从Tools菜单中选择Options,然后选择Directories标签,并在下面的Directories中增加相关路径;
Visual Studio 2005 (编译x64应用时必须为Visual Studio 2005或更高的版本)
- 要增加一个预处理器定义,你必须从Project菜单中选择Properties然后选择左边立标狂中的C/C++,再选择其下的
Preprocessor,将定义添加在右边的Preprocessor Definitions文本框中;
- 要给项目增加库,选择Project菜单中的Properties,然后选中左边列表中的Linker,在选中其下的Input,将库的名
字加入到右边的Additional Dependecies文本框中;
- 如果要添加Visual Studio搜索库的路径,从Tools菜单中选择Options,在左边的列表框内选中Project and Solutions,
再选中其下的VC++ Directories,在右边选的Show directories for 下拉框中选中Library Files,并在其下面的输入框
中加入相关路径;
- 如果要添加Visual Studio搜索的include路径,从Tools菜单中选择Options,在左边的列表框内选中Project and
Solutions,再选中其下的VC++ Directories,在右边选的Show directories for 下拉框中选中Include Files,并在其
下面的输入框中加入相关路径;
Visual Studio 2010
1) 启动Visual Studio 2010,并新建一个项目:
图7
2) 设置项目相关参数如下:
图8
选择Visual C++,选择Empty Project,项目名称为NetworkAdapterList,Solution的名称为LearnWinPcap,点击OK按钮。
3) 为项目NetworkAdapterList增加一个cpp文件,
图9
不放将该cpp的文件名称也设为NetworkAdapterList如下:
图10
点击Add按钮。
4) 如下图,点击菜单Project – NetworkAdapterList Property
图11
得到,
图12
5) 增加预处理定义WPCAP和HAVE_REMOTE。在上图中点开Configuration Properties – C/C++ - Preprocessor,选中右边的Preprocessor Definitions,再选中其右边的带向下三角形的按钮,再点击弹出的Edit下拉菜单,
图13
如下图增加WPCAP和HAVE_REMOTE,
图14
点击OK按钮,即可。
完成后的样子如下:
图15
点击应用按钮,带点击确定按钮。
WPCAP的含义只抓去本机的通讯包,HAVE_REMOTE的含义是本地机器可以抓去所在网段上其他机器的通讯包。
6) 增加库文件。如下图,选中Configuration Properties – Linker – Input – Additional Dependencies
图16
选中其右边的带向下三角形的按钮,再点击弹出的Edit