如何配置WpdPack
来源:互联网 发布:什么牌子油烟机好 知乎 编辑:程序博客网 时间:2024/06/05 12:03
1.
在正式WinPcap编程之前,要配置运行环境。
Win32 平台下WinPcap应用程序需要以下四个动态链接库才能正常运行:
wpcap.dll
Packet.dll
WanPacket.dll
pthreadVC.dll
这四个动态链接库在WinPcap驱动程序里,下载地址:http://www.winpcap.org/install/default.htm
2.
下载WinPcap SDK,即WpdPack WinPcap,下载地址:http://www.winpcap.org/devel.htm
SDk里面包含库文件,头文件,文档文件和一些例子。 解压缩后把Include目录添加到IDE的包含文件中:
WpdPack_4_1_2\Include\pcap
WpdPack_4_1_2\Include
3.
WpdPack_4_1_2\Lib中的2个库添加到资源文件中
4.
由于是在Windows下编程,需要在WpdPack_4_1_2\Include\pcap\pcap.h文件中加一句:#define WIN32
现在我们就可以进行WinPcap编程了 ^_^
库函数请参考http://blog.csdn.net/worldzhy/article/details/8233351
下面是一个可以运行的程序
#include <stdio.h>
#include <ctype.h>
#include <pcap.h>
#define MAXBYTES2CAPTURE 2048
void processPacket(u_char *arg, const struct pcap_pkthdr *pkthdr, const u_char *packet)
{
int i = 0, *counter = (int *)arg;
printf("Pcaket Count: %d\n", ++(*counter));
printf("Received Packet Size: %d\n", pkthdr->len);
printf("Payload:\n");
for (i=0; i<pkthdr->len; i++){
if ( isprint(packet[i]) )
printf("%c ", packet[i]);
else
printf(". ");
if ( (i%16 == 0 && i!=0) || i==pkthdr->len-1)
printf("\n");
}
}
int main()
{
int i=0, count=0;
pcap_t *descr = NULL;
char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;
memset(errbuf, 0, PCAP_ERRBUF_SIZE);
/*获取第一个适合捕获的网络设备名称*/
device = pcap_lookupdev(errbuf);
printf("Opening device %s\n", device);
/*以混杂模式打开网络设备*/
descr = pcap_open_live(device, MAXBYTES2CAPTURE, 1, 512, errbuf);
/*死循环并在每一次接收到数据包时调用回调函数processPacket()*/
pcap_loop(descr, -1, processPacket, (u_char *)&count);
return 0;
}
- 如何配置WpdPack
- 在VS2010中使用WpdPack
- 编译WpdPack提供的例子是出错!!
- 如何配置
- 如何配置EclipseIDE+Tomcat配置
- 如何配置Apache
- 如何配置磁盘阵列
- 如何配置EditPlus 2
- 如何配置Tomacat
- 如何配置每日构建!
- 如何配置.NET环境变量
- 如何配置CA服务器
- 如何配置IIS?
- 如何配置Tomcat服务器
- Myeclipse如何配置weblogic
- 如何配置数据库连接
- 如何配置 Tomcat 管理员帐号
- 如何配置ODBC数据源
- Java设计模式透析之 —— 模板方法
- [转]Java中类名与文件名的关系
- 齐次坐标的理解
- 使用JSONObject类转换字符串含有集合类型的属性 JSON字符串转换object错误:MorphDynaBean cannot be cast to com.softright.bean.Tes
- Github使用教程for windows 零基础使用说明
- 如何配置WpdPack
- GitHub入门教程
- 【Node.js基础篇】(八)安装Express 3.2框架以及ejs模板
- leetcode 日经贴,Cpp code -Word Ladder
- 黑马程序员---OC Foundation框架--集合类
- LR: Error -27987: [MsgId: MERR-27987]
- CImage类 Load 图像
- NOJ1545---New Year 2014(数位dp)
- Android Socket 通信