windows下使用WinPcap获取网卡列表

虽然看了挺多资料,不过实际做起来还是比较麻烦,这里总结下,一下在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
/**
数据包主执行函数
 */

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;
}


你可能感兴趣的:(C/C++)