分享

winPcap获取网卡网络地址和子网掩码

 londonKu 2012-05-05

下面是获取网络地址(不是IP地址)和子网掩码的示例,没时间接着往下做例子了,因为接下来需要在LINUX下面使用libPcap,当然我会贴出代码,会linux编程的大牛一般都会,所以准确的说是贴给自己的,喜欢玩数据包的朋友自己看官方例子就行

  1. #include<pcap.h>  
  2. /** 
  3. 数据包主执行函数 
  4.  */  
  5. #pragma comment(lib,"wpcap.lib")  
  6. #pragma comment(lib,"Packet.lib")  
  7. #pragma comment(lib,"ws2_32.lib")  
  8.   
  9. void getAddr();  
  10. int main(int argc,char *argv[])  
  11. {  
  12.       
  13.     getAddr();  
  14.     return 0;  
  15. }  
  16.   
  17. //获取网卡网络地址和子网掩码  
  18. void getAddr()  
  19. {  
  20.     pcap_if_t *alldevs;  
  21.     pcap_if_t *d;  
  22.     struct in_addr net_ip_address;//网卡IP信息,在pcap.h里面有定义  
  23.     u_int32_t net_ip;  
  24.     char *net_ip_string;  
  25.   
  26.     struct in_addr net_mask_address;  
  27.     u_int32_t net_mask;  
  28.     char *net_mask_string;  
  29.   
  30.     int i=0;  
  31.     char errbuf[PCAP_ERRBUF_SIZE];  
  32.     if(pcap_findalldevs(&alldevs,errbuf)==-1)//无法找到网卡列表  
  33.     {  
  34.         fprintf(stderr,"error in pcap_findalldevs: %s\n",errbuf);  
  35.         exit(1);  
  36.     }  
  37.     /* 扫描列表 */  
  38.     for(d=alldevs;d;d=d->next)  
  39.     {  
  40.         printf("%s\n",d->name);  
  41.         printf("Description: %s\n",d->description);  
  42.         pcap_lookupnet(d->name,&net_ip,&net_mask,errbuf);  
  43.   
  44.         net_ip_address.s_addr = net_ip;  
  45.         net_ip_string = inet_ntoa(net_ip_address);//format  
  46.         printf("网络地址: %s \n",net_ip_string);  
  47.       
  48.         net_mask_address.s_addr = net_mask;  
  49.         net_mask_string = inet_ntoa(net_mask_address);//format  
  50.         printf("子网掩码: %s \n",net_mask_string);  
  51.         printf("\n");  
  52.     }  
  53.   
  54.     /* 释放链表 */  
  55.     pcap_freealldevs(alldevs);  
  56.     printf("\n");  
  57. }  

VC6.0下测试通过

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多