winpcap学习手记
(By 风色鸟)
winpcap要使用VC6
第一次使用VC6,真的觉得配置很烦,而且觉得不可见、不可控。相比,还是喜欢linux下面的makefile。
尽管如此,还是需要把自己的配置过程记一下:
1. 新建Win32 Console Application工程,然后再新建一个C++ Source File文件;
2. Tools -> Options -> Directories标签 -> 在Show directories for:下面选择Include
files,然后在下面添加winpcap的include库; 接着,还是在Show directories for:下面,选择Library files,然后在下面添加winpcap的lib库。
3. Project -> Settings -> Link标签 -> 在Object/library modules:下面的文本框,最后添加wpcap.lib
4. 然后复制下面的例子,到新建的C++ Source File文件,编译运行就好了。下面的代码来自winpcap官方手册。我只是添加了一个#include "remote-ext.h",否则会找不到相关函数、变量定义。
#include "pcap.h" #include "remote-ext.h"
main() { pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 获取本地机器设备列表 */ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */,
&alldevs, errbuf) == -1) { fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf); exit(1); } /* 打印列表 */ for(d= alldevs; d != NULL; d= d->next) { printf("%d. %s", ++i, d->name); if (d->description) printf(" (%s)\n", d->description); else printf(" (No description available)\n"); } if (i == 0) { printf("\nNo interfaces found! Make sure WinPcap is installed.\n"); return; }
/* 不再需要设备列表了,释放它 */ pcap_freealldevs(alldevs); }
|
阅读(2667) | 评论(2) | 转发(0) |