WinPcap 是网络抓包常用工具,新手入门的时候难免遇到一些C语法上的错误,在此小结一下常见的几个错误及解决方法。
1.
错误提示:d:\c++\microsoft visual studio\myprojects\get_arp\1.cpp(20) :
error C2011: 'in_addr' : 'struct' type redefinition
源程序出错截图如下:
错误分析:
这里提示in_addr重复定义,这是因为头文件中已经定义了这个结构体,这里只需删去即可。
2.
错误提示:1.obj : error LNK2001: unresolved external symbol
__imp__inet_ntoa@4
错误分析:这是因为运行WinPcap的时候必须要加入两个静态链接库,解决方法有两种。
第一:在每一个程序的头文件处加入两句话
#pragma comment(lib,"wpcap.lib")
#pragma comment(lib,"wsock32.lib")
错误解决。
第二:为每个工程添加静态链接库。
在菜单栏里,打开工程->设置,选择连接,在对象/库模块栏中加入wpcap.lib和wsock32.lib,确定后,问题解决。截图如下:
两种解决问题的方法原理相似,个人偏爱第一种,但是根据个人喜好啦。
3.上面列举了运行WinPcap程序时常见错误,对于新手来说,可能连安装入门都觉得很是困难。这里以VC++6.0为例简单说明一下如何快速配置好运行环境。
首先:将开发包WpdPack_3_1.zip解压到某个目录下,例如D:\Winpcap,然后打开工具->选项,选择目录,在目录栏中选择Include files,添加开发包中的Include 文件夹路径,D:\Winpcap\WpdPack_3_1\WpdPack\Include,如下图,
再在目录栏中选择Library files,添加开发包中的Lib 文件夹路径,D:\Winpcap\WpdPack_3_1\WpdPack\Lib,如下图,
之后就是添加静态链接库,见第二点。
环境就配置好了,可以开始编程了。