1. 程式人生 > >windows下使用WinPcap獲取網絡卡列表

windows下使用WinPcap獲取網絡卡列表

雖然看了挺多資料,不過實際做起來還是比較麻煩,這裡總結下,一下在VC6.0執行通過

 

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