windows下使用WinPcap獲取網絡卡列表
阿新 • • 發佈:2019-01-07
雖然看了挺多資料,不過實際做起來還是比較麻煩,這裡總結下,一下在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; }