在vs2010中配置Winpcap

好久沒來csdn了。

最近準備學習一下網絡抓包方面的東西,但在vc6.0下Winpcap總是配置不成功,今天在網上找到一個在VS2010中配置的,話說這會兒我已經配置並測試成功了。如下:

VS2010 配置Winpcap

新建一個項目,GetDevs.cpp。用來測試。測試代碼最後有給出。

View->Property Manager

Debug|Win32 -> Mircrosoft.Cpp.Win32.user(右鍵)->Properties

注:此處設置爲全局的!

q 設置環境目錄

VC++ Directiories -> Include DirectoriesLibrary Directories中添加路徑。

假如將wpdpack放到c盤。則:

Include Directories:c:\wpdpack\Include;

Library Directories:c:\wpdpack\Lib;

分號不要漏!

q 設置編譯條件

C/C++Preprocessor(預處理器)的Preprocessor Definitions(預處理定義)

添加 ;WPCAP;HAVE_REMOTE;

注意分號,每個預定義符用“;”分開。

Linker(連接器)下的Command Line(命令行)

Additional Options (附加項)中輸入:

wpcap.lib ws2_32.lib packet.lib(注:用空格分隔。)

確定即可。

Ctrl + F5運行。顯示出網卡驅動信息。表明配置成功。

代碼GetDevs.cpp

#include "pcap.h" 

void  main() 

 { 

   pcap_if_t *alldevs,*d; 

   int i=0; 

   char errbuf[PCAP_ERRBUF_SIZE];

   /* PCAP_ERRBUF_SIZE =256ê?¨²pcap.hD¡§°? */             

    

    if (pcap_findalldevs(&alldevs, errbuf) == -1) /* a?API®?¤¡ä?Ì?ª?¡§Ì?¢DÀ¨ª */

     {  fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf); 

//errbuf?ºyê?Ì¡À®D°¨¬¡ê¨¦?¤¡é¦¨²º¡Àê?a??ºy¨¢À?PCAP¬??a3?¬?¡§Ì?䨪¨®Á?ä?

        return

     }  

     

  /* ?º?¢DÀ¨ªÌ?¨¬®|Á??Ì?¨²¨Y */ 

       for(d=alldevs;d;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

   } 

  

   /*We don't need any more the device list. Free it */ 

       pcap_freealldevs(alldevs); //º¨ª¤?Ì?¨²ä?Á¨º¡ä

  }

如有錯誤的地方,請指出。

大家一起學習探討。呵呵!

此爲原創。

謝謝~~

boyzxh

Email[email protected]  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章