您的位置:首页 > 其它

Visual Studio 配置Winpcap环境 详细

2016-03-22 13:38 204 查看


Start

本文以Visual Studio 2013和WinPcap 4.1.3作为示例,对32位和64位Win7通用


1、下载并安装WinPcap运行库

http://www.winpcap.org/install/default.htm

一些捕包软件会捆绑安装WinPcap,MentoHust也会附带WinPcap,这种情况下一般可以跳过此步。


2、下载WinPcap开发包

http://www.winpcap.org/devel.htm

解压到纯英文路径,得到如图1所示目录结构:






3、新建项目

以管理员权限打开Visual Studio,新建一个Visual C++的Win32控制台应用程序,设置为空项目,如图2所示:






4、设置项目

打开项目属性,如图3所示添加
WPCAP
HAVE_REMOTE
这两个宏定义:






5、添加
wpcap.lib
ws2_32.lib
两个库。






6、添加包含路径(即图1的
Include
目录)和库路径(即图1的
Lib
目录):






7、设置UAC

此步不是必须的,但是推荐设置。让生成的程序能够自动触发管理员权限对话框。无论如何,最终生成的程序都需要以管理员权限运行。






8、完成

完成以上步骤并点击确定保存设置以后,向项目添加需要的源文件即可。例如新建一个C++源文件(也可以添加现有的)





#include "pcap.h"
//#pragma comment(lib, "wpcap.lib")
void  main()
{

pcap_if_t *alldevs,*d;

int i=0;

char errbuf[PCAP_ERRBUF_SIZE];
if (pcap_findalldevs(&alldevs, errbuf) == -1)

{

fprintf(stderr,"Error inpcap_findalldevs: %s\n", errbuf);

return;

}

for(d=alldevs;d;d=d->next)

{  printf("%d. %s", ++i,d->name);

if(d->description)  printf(" (%s)\n", d->description);

else  printf(" (Nodescription available)\n");

}

if(i==0)

{printf("\nNo interfaces found! Makesure WinPcap is installed.\n");

return;

}

/*We don't need any more the device list. Free it */

pcap_freealldevs(alldevs);

getchar();

}




几处疑惑解析:

1.附加依赖项 和 #pragma comment(lib, "wpcap.lib")两个效果是一样的,,静态加入一个lib文件。(二选一即可)

2预处理器定义:为什么添加了
WPCAP
HAVE_REMOTE
这两个宏定义:这两个宏是在使用的wincap这个库里面定义的

可见:http://blog.csdn.net/qq_17242957/article/details/50954447
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: