fatal error C1083: 无法打开包括文件:“pcap.h”: WinPcap编程

转载 2012年03月31日 15:14:17


WinPcap是一个开源的、运行于Win32平台下的体系结构,它的主要功能是进行数据包捕获和网络分析。它允许应用程序通过协议栈捕获和传输网络数据包,也包括内核级别的数据包过滤、网络静态引擎和支持远程数据包捕获等有用的功能。
WinPcap由两部分组成:
1.         驱动程序: 扩展操作系统功能提供低层次的网络访问
2.         动态链接库:运行在Win32平台上的应用程序可以非常方便地访问网络低层次的数据。
Ethereal是大名鼎鼎的捕获数据包专业软件,它的运行是在WinPcap的支持之下的,如果没有安装WinPcap,Ethereal也无法正常捕获数据包。
在正式WinPcap编程之前,要配置运行环境。
Win32 平台下WinPcap应用程序需要以下四个动态链接库才能正常运行:
wpcap.dll
Packet.dll
WanPacket.dll
pthreadVC.dll
这四个动态链接库在WinPcap驱动程序里。
如果没有这个驱动程序,需要到WinPcap官方网站上下载,下载地址为:www.WinPcap.org
如果应用程序出现一下提示,那就是没有安装驱动程序的原因了。


也可以不安装WinPcap驱动程序。但是需要把上面提到的四个动态链接库文件拷贝到系统分区/WINDOWS/system32目录下
或者
接下来配置编程环境。
如果一个源文件使用了WinPcap提供的库函数,那么就需要在该文件开始的位置添加pcap.h包含文件(或者在引用的文件中),即#include “pcap.h”
也许会出现下面的错误:
fatal error C1083: 无法打开包括文件:“pcap.h”: No such file or directory
这个错误表明找不到pcap.h文件
这个头文件在驱动程序安装完成后也是没有的,它是开发包里面的一个头文件
所以,如果要运行程序还需要到官方网站上去下载WinPcap SDK―WpdPack
WinPcap SDk里面包含库文件,头文件,文档文件和一些例子。
解压缩后把Include目录添加到IDE的包含文件中(VC6.0 Tools->Option->Directory; VS 2003/2005 工具->选项->项目和解决方案/项目->VC++目录)
error LNK2019: 无法解析的外部符号_pcap_findalldevs_ex,该符号在函数XXX 中被引用
如果发生上面的错误就表明缺少库文件,需要添加wpcap.lib到工程中(VC6.0 Project->Settings->Link->Object/library modules; VS 2003/2005 项目->添加现有项->所有文件)
error C2065: “PCAP_SRC_IF_STRING”: 未声明的标识符
error C3861: “pcap_findalldevs_ex”: 找不到标识符
error C2065: “PCAP_OPENFLAG_PROMISCUOUS”: 未声明的标识符
error C3861: “pcap_open”: 找不到标识符
新的版本里WinPcap支持远程数据包获取,发生上面的错误很有可能是新的版本导致不兼容的问题,所以还应当添加一个头文件remote-ext.h ,即
#include "remote-ext.h"
如果还有问题,可以到WinPcaP官方网站上找FAQ。
一般情况下应该没有问题了。接下来,开始动手做抓包分析吧。

相关文章推荐

VS2012 无法加载“pcap.h”

之前一直用Socket来做网络编程。后来发现socket自定义IP包,无法指定ip包的源地址不为本机地址(如果哪位仁兄使用socket可以实现,请多多赐教)。问了别人,关注到了WinPcap。尝试开始...

用libpcap打开读取cap文件

#include #include #include #include #include #include #include #include #include #include ...

WinPcap 常见安装和运行错误

说明:WinPcap共有安装程序和开发包如果只运行基于WinPcap的应用程序,只须安装WinPcap安装程序;如果要编写和调试基于WinPcap的应用程序,除安装WinPcap,还须指定开发包中的头...

VS2008中"fatal error C1083:无法打开包括文件:“Stdafx.h”: No such file or directory

错误类型1: 环境:VS2008 语言:C++      下午出了一个非常可恶的问题,我的一个基于MFC 对话框的程序因为预编译头文件stdafx.h的原因始终无法编译通过。 由于程序整体是...
  • heary29
  • heary29
  • 2015年03月03日 09:00
  • 573

VS2008中"fatal error C1083:无法打开包括文件:“Stdafx.h”: No such file or directory”

错误类型1: 环境:VS2008 语言:C++      下午出了一个非常可恶的问题,我的一个基于MFC 对话框的程序因为预编译头文件stdafx.h的原因始终无法编译通过。 由于程...

fatal error C1083: 无法打开包括文件:“SDKDDKVer.h”

http://www.global-webnet.com/Blog/post/2012/04/14/Kinect-SkeletalViewer-Cannot-open-include-file-SDK...
  • goodnew
  • goodnew
  • 2012年09月08日 15:20
  • 14210

COCOS2D-X 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题(同时避免copy文件夹和库)

在新建COCOS2D-X项目时 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题 fatal error C1083: 无法打开包括文件:“C...

VS2008中"fatal error C1083:无法打开包括文件:“Stdafx.h”: No such file or directory”

错误类型1: 环境:VS2008 语言:C++      下午出了一个非常可恶的问题,我的一个基于MFC 对话框的程序因为预编译头文件stdafx.h的原因始终无法编译通过。 由于程序整体是...

[cocos2dx]COCOS2D-X 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题

在新建COCOS2D-X项目时 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题 fatal error C1083: 无法打开包括文件:“C...

afx.h(78): fatal error C1083: 无法打开包括文件: “new.h”: No such file or directory

使用vs2015新建mfc工程,编译错误: d:\program files (x86)\microsoft visual studio 14.0\vc\atlmfc\include\afx.h(7...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:fatal error C1083: 无法打开包括文件:“pcap.h”: WinPcap编程
举报原因:
原因补充:

(最多只允许输入30个字)