最近在做课设的时候看到一个代码用到了winpcap的一个头文件 pcap.h
,为了能让代码跑起来也是找了很多资料,因此在这里汇总一下。
-
在官网下载开发包,我下载的是 WinPcap 4.1.2 Developer’s Pack 的版本,下载后解压缩,并且记住这个路径。
-
为了能顺利运行代码还要进行一些配置,以VS2019版本为例,点击 项目->配置属性-> C/C++ -> 常规,将刚才解压的sdk文件中的
include
文件夹路径加到附加包含目录里。(注意:这个WinPcapDeveloperPack
文件夹是我自己为了区分把解压后的文件夹改了名字,原来的名字应该是WpdPack
) -
点击 项目-> 项目属性->链接器->常规->附加库目录 将刚才解压的sdk文件中的
lib文件夹
路径加进去。 -
在原来的代码里面加上这两行
#pragma comment(lib, "wpcap.lib") #pragma comment(lib, "ws2_32.lib")
-
另外,由于原来的代码
struct tm* ltime; char timestr[16]; ltime = localtime((const time_t *)& header->ts.tv_sec); //将时间戳转换为可读字符 strftime(timestr, sizeof(timestr), "%H:%M:%S", ltime); printf("时间:%s\n", timestr);
#include "winsock.h"
报错给注释掉了,改成了
char formatTime[64] = { 0 }; snprintf(formatTime, 64, "%04d-%02d-%02d %02d:%02d:%02d", t_tm->tm_year + 1900, t_tm->tm_mon + 1, t_tm->tm_mday, t_tm->tm_hour, t_tm->tm_min, t_tm->tm_sec); printf("时间:%s\n", formatTime);
#include <WinSock2.h>
-
现在就可以运行了。
代码来源:网络嗅探器设计实验
参考链接:使用Winpcap示例程序的时候,会出现很多错误(转)、VS2012 无法加载“pcap.h”、winpcap环境部署(VC6.0出现找不到“pcap.h_'”文件解决方法)