windows下使用WinPcap获取网卡列表

来源:互联网 发布:海康 知乎 编辑:程序博客网 时间:2024/04/20 05:55

虽然看了挺多资料,不过实际做起来还是比较麻烦,这里总结下,一下在VC6.0运行通过

1.去网上下载winPcap安装包和开发人员包:http://www.winpcap.org/

 

在WpdPack里面有依赖包和开发示例,大家自己看

2.我们创建一个win32 console application就行,然后创建一个主函数的文件

3.我们的程序需要到WpdPack里面的包,所以我们需要把这些包包含进工作区

(1)TOOLS->options->diresctories ,include file就添加 WpdPack inlude文件夹,lib一样地对应

(2)project->setting->link 在object/library后面加上wpcap.lib

4.我们写下这些代码就行

#include<pcap.h>/**数据包主执行函数 */int getAllDevs();int main(int argc,char *argv[]){getAllDevs();return 0;}//获取已连接的网络适配器列表int getAllDevs(){pcap_if_t *alldevs;pcap_if_t *d;int i=0;char errbuf[PCAP_ERRBUF_SIZE];if(pcap_findalldevs(&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("\t描述: %s\n",d->description);}if(i==0){puts("找不到网卡,请确认wincap已经安装!!!");}//释放链表pcap_freealldevs(alldevs);return 1;}


原创粉丝点击