Win7,64位,VS2013,WinPcap4.1.3详细配置教程

写这篇文章是因为最近在使用自定义的报文来测试公司的服务器,并且WinPcap是一个十分难配置的开发环境,很多新手都会因为配置失败而放弃Pcap开发的学习,这里用我自己的经验教大家怎么配置WinPcap。先给出概要的流程让大家有个总体思路,然后给出详细流程与配置截图。

概要流程如下:
1.下载安装包与SDK
2.配置VS 的环境。
3.在项目中布置必要的宏定义
4.编写调试程序
5.完成调试

详细流程:
首先要下载驱动的安装包和SDK:
开发驱动的下载地址
http://www.winpcap.org/install/default.htm
这里写图片描述

目前最新的驱动版本是4.1.3
然后需要下载SDK:SDK就是4.1.2版本的
http://www.winpcap.org/devel.htm
这里写图片描述

完成之后进入VS2013
需要配3个地方:
1. VC++目录的包含目录与库目录

填入自己WpdPack的include目录

像这样。
这里写图片描述

这里写图片描述
2.
C++->常规中,第一行附加包目录中,填lib的目录地址。
这里写图片描述
这里写图片描述

3.最后在连接器中,常规,添加库目录处,填入lib目录
这里写图片描述

最后在项目中引入

#include <iostream>
#include <WinSock2.h>
#include <Windows.h>
#include<tchar.h>
//the macro HAVE_REMOTE must define before
#ifndef  HAVE_REMOTE
#define HAVE_REMOTE
#endif
#include <pcap.h>
#include <remote-ext.h>

#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "packet.lib")
#pragma comment(lib, "wpcap.lib")
using namespace std;

就可以跑如下代码:

#include <iostream>
#include <WinSock2.h>
#include <Windows.h>
#include<tchar.h>
//the macro HAVE_REMOTE must define before
#ifndef  HAVE_REMOTE
#define HAVE_REMOTE
#endif
#include <pcap.h>
#include <remote-ext.h>

#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "packet.lib")
#pragma comment(lib, "wpcap.lib")
using namespace std;

int f()
{
    pcap_if_t *alldevs;
    pcap_if_t *d;
    int i = 0;
    char errbuf[PCAP_ERRBUF_SIZE];

    /* 获取本地机器设备列表 */
    if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1)
    {
        fprintf(stderr, "Error in pcap_findalldevs_ex: %s\n", errbuf);
        system("Pause");
        exit(1);
    }

    /* 打印列表 */
    for (d = alldevs; d != NULL; 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");

        system("Pause");
        return 0;

    }

    /* 不再需要设备列表了,释放它 */
    pcap_freealldevs(alldevs);
    return 1;
    system("Pause");
}
int main(){
    system("Pause");
    f();
    system("Pause");
}

运行结果如下
这里写图片描述
这个东西应该和wireshark里面是一样的:
wireshark里面显示的网络接口也是同样的数量:
这里写图片描述

以上完成所有的配置与第一次测试
(完)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值