• WinPacp在VS2013环境下的配置


    winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。

    下面将详细介绍如何在VS2013使用winpcap开发网络应用程序。

    1.首先,从http://www.winpcap.org/下载winpcap.exeDeveloper's Pack.。安装winpcap.exe,并将Developer's Pack进行解压。

    2.配置VS2013。在VS2013中新建一个空工程。具体设置如下:

    (1)项目 →属性→配置属性→点击C/C++目录,点击展开的目录General,在右侧的Additional Include Directories中添加Include目录(Include目录在WpdPack中)

    (2)项目 →属性→配置属性→点击C/C++目录,在右边的Preprocessor Definition加上WPCAP,HAVE_REMOTE,WIN32;

    (3)项目 →属性→配置属性→点击Linker目录,点击展开的目录General,在右边的Additional Library Directories中添加lib目录(Lib目录在WpdPack中)
    (4)项目 →属性→配置属性→点击Linker目录下的Input,在右侧的Additional Dependencies中添加wpcap.lib和Packet.lib。

     

    下面给一个简单地例子:

     1 #include "pcap.h"
     2 
     3 main()
     4 {
     5     pcap_if_t *alldevs;
     6     pcap_if_t *d;
     7     int i = 0;
     8     char errbuf[PCAP_ERRBUF_SIZE];
     9 
    10     /* 获取本地机器设备列表 */
    11     if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)
    12     {
    13         fprintf(stderr, "Error in pcap_findalldevs_ex: %s\n", errbuf);
    14         exit(1);
    15     }
    16 
    17     /* 打印列表 */
    18     for (d = alldevs; d != NULL; d = d->next)
    19     {
    20         printf("%d. %s", ++i, d->name);
    21         if (d->description)
    22             printf(" (%s)\n", d->description);
    23         else
    24             printf(" (No description available)\n");
    25     }
    26 
    27     if (i == 0)
    28     {
    29         printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
    30         return;
    31     }
    32 
    33     /* 不再需要设备列表了,释放它 */
    34     pcap_freealldevs(alldevs);
    35     system("pause");
    36 }
  • 相关阅读:
    c++ string 和wstring 之间的互相转换函数
    Duilib教程-自动布局3-分隔条
    Duilib教程-自动布局2
    Duilib教程-自动布局1
    Duilib教程-非DUI控件
    Duilib教程-控件练习
    Duilib教程-HelloDuilib及DuiDesigner的简单使用
    Duilib教程-简单介绍
    把資源加载到内存中 BMP 出错
    LoadLibrary失敗,GetLastError 返回127錯誤
  • 原文地址:https://www.cnblogs.com/luckyqiao/p/3613792.html
Copyright © 2020-2023  润新知