在VS2010中使用WpdPack
来源:互联网 发布:崔永元 转基因 知乎 编辑:程序博客网 时间:2024/06/06 00:54
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;
}
- 在VS2010中使用WpdPack
- 在VS2010中使用libcurl
- GridCtrl 在 VS2010中使用
- 在VS2010中使用Git
- pHash在VS2010中使用
- VS2010在命令行中使用
- 在VS2010中使用SVN
- Qt在VS2010中使用
- 在vs2010中使用wtl
- VS2010在QT中使用qrc文件
- VS2010 在共享 DLL 中使用 MFC
- 在VS2010中使用wxWidgets 2.9.3
- 在VS2010中使用wxWidgets 2.9.3
- 怎样在VS2010中使用OpenCV2.4.3
- OSG在VS2010中使用的问题
- 在VS2010中使用OpenCV2.4.3
- 在VS2010中使用Crystal Reports
- 在VS2010中使用wxWidgets 2.9.3
- AS3发送http请求编码不对的解决方法
- MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用
- 自己写的SqlHelper类
- VC++的可视化解决方案
- 如何在android的XML和java代码中引用字符串常量
- 在VS2010中使用WpdPack
- GODADDY 申请域名的经历
- 三命通会 连载一
- File Read
- 什么是Portal
- Access中关于大小写敏感查询的问题及解决方案
- C中可变参数列表函数的编写
- 运行时改变Button图片的android:drawableTop
- Win8:适用于 Windows 应用商店应用的 JavaScript 项目模板 (Windows)