zoukankan      html  css  js  c++  java
  • 如何在VS2010环境下配置Winpcap

    之前作业用的是JPCAP,这次作业老师要求使用C/C++,便要重新了解一下winpcap,在往上搜集了个比较详细的配置策略。

    新建一个项目,GetDevs.cpp。用来测试。测试代码最后有给出。

    View->Property Manager

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

    注:此处设置为全局的!

    设置环境目录

    VC++ Directiories -> Include Directories和Library Directories中添加路径。

    假如将wpdpack放到c盘。则:

    Include Directories:c:\wpdpack\Include;

    Library Directories:c:\wpdpack\Lib;

    分号不要漏!

    设置编译条件

    C/C++下Preprocessor(预处理器)的Preprocessor Definitions(预处理定义)

    添加WPCAP;HAVE_REMOTE;

    注意分号,每个预定义符用“;”分开。

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

    Additional Options (附加项)中输入:

    wpcap.lib ws2_32.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.h中定义*/            

       

        if (pcap_findalldevs(&alldevs, errbuf) == -1) /* 这个API用来获得网卡的列表*/

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

             //errbuf参数当有异常情况发生时这个参数会被填充为某个特定的错误字串

            return;

         } 

        

               /* 显示列表的响应字段的内容*/

           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); //释放掉内存资源

      }

     

  • 相关阅读:
    matplotlib
    Scipy-数值计算库
    Django Templates
    Django Views: Dynamic Content
    Django Views and URLconfs
    Opencv读写文件
    Logistic回归
    demo
    【Python62--scrapy爬虫框架】
    【Python58--正则2】
  • 原文地址:https://www.cnblogs.com/leonbond/p/2224444.html
Copyright © 2011-2022 走看看