視窗:網路-WinPcap-“Hello World!”

本文介绍如何使用WinPcap库在Windows环境下编写程序来获取并打印本地计算机上的所有可用网络适配器列表。通过安装WinPcap及其开发包,并借助VC编译器创建简单示例程序实现这一目标。

以前看人家用WinPcap怪方便的,今天有點時間也上網下了一個,打開VC咱們也來個~~

咱們不寫“Hello World”了,WinPcap寫不出來,咱們就寫個打印本機可用網卡列表的程序吧,這是最簡單的了。

先去http://www.winpcap.org/install/bin/WinPcap_4_0.exe下載安裝WinPcap,

再到 http://www.winpcap.org/install/bin/WpdPack_4_0.zip下載到WinPcap的開發包,解壓後進入那個Examples-pcap文件夾,裏面都是例子,隨便選一個,比如DUPdump吧,把它在複製一份“DUPdump 副本”,改個名兒,這是咱們的第一個程序,就叫test把。進去把裡面的什麽“UDPdump.dsp”、“UDPdump.dsw”改成“test.dsp”、“test.dsw”,再用記事本把這兩個文件打開,將“UDPdump”字樣全部替換成我們的“test”,好這樣人家的UDPdump工程就變成了我們的test工程,用VC打開test工程,在右邊我們可以看到有源文件udpdump.c、頭文件pcap.h和一個庫文件,把那個源文件幹掉,添加一個咱們的main.cpp,裏面填入下列代碼:

main.cpp:

#include  " pcap.h "

void  main( void )
{
    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:%s ", errbuf);
        exit(
1);
    }

    
    
//輸出列表
    for(d=alldevs;d;d=d->next){
        printf(
"%d. %s"++i, d->name);
        
if (d->description){
            printf(
" (%s) ", d->description);
        }
else{
            
//Y- 沒有有效的描述
            printf(" (無描述) ");
        }

    }

    
    
if(i==0){
        
// Y- 沒有有效的接口,亦可能是因爲沒有安裝winpcap
        printf(" 接口沒有找到! 請確認是否正確安裝WinPcap。 ");
        
return;
    }

    
    
//释放列表
    pcap_freealldevs(alldevs);
}

 

構建,ok,運行,本機的網卡接口列表出來了~

 

//注:如果你是XP sp2的工作站,構建時提示找不到什麽Iphlpapi.lib文件,那就得安裝微軟的一個包,大包,上

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm

去下吧~~~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值