WinPacp在VS2013环境下的配置

winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。

下面将详细介绍如何在VS2013使用winpcap开发网络应用程序。

1.首先,从http://www.winpcap.org/下载winpcap.exeDeveloper's Pack.。安装winpcap.exe,并将Developer's Pack进行解压。

2.配置VS2013。在VS2013中新建一个空工程。具体设置如下:

(1)项目 →属性→配置属性→点击C/C++目录,点击展开的目录General,在右侧的Additional Include Directories中添加Include目录(Include目录在WpdPack中)

(2)项目 →属性→配置属性→点击C/C++目录,在右边的Preprocessor Definition加上WPCAP,HAVE_REMOTE,WIN32;

(3)项目 →属性→配置属性→点击Linker目录,点击展开的目录General,在右边的Additional Library Directories中添加lib目录(Lib目录在WpdPack中)
(4)项目 →属性→配置属性→点击Linker目录下的Input,在右侧的Additional Dependencies中添加wpcap.lib和Packet.lib。

 

下面给一个简单地例子:

 

 1 #include "pcap.h"

 2 

 3 main()

 4 {

 5     pcap_if_t *alldevs;

 6     pcap_if_t *d;

 7     int i = 0;

 8     char errbuf[PCAP_ERRBUF_SIZE];

 9 

10     /* 获取本地机器设备列表 */

11     if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)

12     {

13         fprintf(stderr, "Error in pcap_findalldevs_ex: %s\n", errbuf);

14         exit(1);

15     }

16 

17     /* 打印列表 */

18     for (d = alldevs; d != NULL; d = d->next)

19     {

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

21         if (d->description)

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

23         else

24             printf(" (No description available)\n");

25     }

26 

27     if (i == 0)

28     {

29         printf("\nNo interfaces found! Make sure WinPcap is installed.\n");

30         return;

31     }

32 

33     /* 不再需要设备列表了,释放它 */

34     pcap_freealldevs(alldevs);

35     system("pause");

36 }

 

 

 

 

 

 

你可能感兴趣的:(配置)