`

Visual Studio 2005 Express 下的 WinPcap 配置

    博客分类:
  • C++
阅读更多
因网络课程的作业需要用到winpcap,不得已又要和C++打交道了。由于winpcap是为vc而设计的,但是我又不大喜欢用盗版,于是打算用免费的 VC++ 2005 Express版。

1、安装 Visual Studio 2005 Express Edition 和 Paltform SDK。

如何安装Visual Studio 2005 Express在这里就不赘述了,很简单的。由于VC Express没有自带 Platform SDK,所以需要自己下载安装(如果不安装 psdk的话,就会出现 找不到 winsock2.h 的编译错误)。由于微软现在官网提供的psdk下载比较麻烦,需要windows正版验证,再加上体积比较大,所以我这里就不用,我用的psdk是在这里下载的:
XPSP2 PSDK Full Download with Local Install
还有一个,不知道能不能安装在xp上,有兴趣的兄弟可以自己试试
Windows Server 2003 PSDK Full Download with Local Install
似乎这两个链接在官网上是找不到的
下载、解压、安装,然后再配置 VC++:
tools --> options  --> Projects and Solutions  --> VC++ Directories   : 把以下路径添加到相应的下拉节点中去:(其中psdk是你的sdk安装目录)
  • Executalbe files :psdkdir\Bin

  • Include files :psdkdir\include

  • Library files:psdkdir\lib

2、安装 winpcap:到这里下载 winpcap
安装后按要求重启,如果没安装这个包,程序即使编译成功也不能运行,会提示找不到 winpcap.dll

3、下载  WinPcap Developer's Packs
解压后会得一个目录WpdPack四个子目录:
 docs
 Examples-pcap
 Examples-remote
 Include
 Lib
然后配置VC++
tools --> options  --> Projects and Solutions  --> VC++ Directories :
  • Include files :WpdPackPath\include

  • Library files: WpdPackPath\lib

其中 WpdPackPath是目录WpdPack的绝对路径

4、新建一个 win32->win32 console application 工程,然后配置工程属性:
  • 右键 -> Properties -> Configuration Properties -> C/C++ -> Preprocessor -> Proprocessor Definition   往上面添加 WPCAP就可以了(这一步不做似乎也没什么问题~)
  • 右键 -> Properties -> Configuration Properties -> Linker -> input -> Additional Dependencies  往上面添加 wpcap.lib Packet.lib
5、一个例子:

<!---->#include "pcap.h"
#include 
"remote-ext.h"

int main()
{
    pcap_if_t 
*alldevs;
    pcap_if_t 
*d;
    
int i=0;
    
char errbuf[PCAP_ERRBUF_SIZE];
    
    
/* Retrieve the device list from the local machine */
    
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);
        exit(
1);
    }
    
    
/* Print the list */
    
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");
        
return 1;
    }

    
/* We don't need any more the device list. Free it */
    pcap_freealldevs(alldevs);

    
return 0;
}
注意,如果不添加 #include "remote-ext.h" 也是会报错的~

6、链接错误:
<!---->anothertest.obj : error LNK2019: unresolved external symbol __imp__WSASetLastError@4 referenced in function _WspiapiGetNameInfo@28
anothertest.obj : error LNK2019: unresolved external symbol __imp__inet_ntoa@
4 referenced in function _WspiapiLegacyGetAddrInfo@16
anothertest.obj : error LNK2019: unresolved external symbol __imp__htonl@
4 referenced in function _WspiapiLegacyGetAddrInfo@16
anothertest.obj : error LNK2019: unresolved external symbol __imp__getservbyname@
8 referenced in function _WspiapiLegacyGetAddrInfo@16
anothertest.obj : error LNK2019: unresolved external symbol __imp__htons@
4 referenced in function _WspiapiLegacyGetAddrInfo@16
anothertest.obj : error LNK2019: unresolved external symbol __imp__inet_addr@
4 referenced in function _WspiapiParseV4Address@8
anothertest.obj : error LNK2019: unresolved external symbol __imp__WSAGetLastError@
0 referenced in function _WspiapiQueryDNS@24
anothertest.obj : error LNK2019: unresolved external symbol __imp__gethostbyname@
4 referenced in function _WspiapiQueryDNS@24
anothertest.obj : error LNK2019: unresolved external symbol __imp__gethostbyaddr@
12 referenced in function _WspiapiLegacyGetNameInfo@28
anothertest.obj : error LNK2019: unresolved external symbol __imp__getservbyport@
8 referenced in function _WspiapiLegacyGetNameInfo@28
anothertest.obj : error LNK2019: unresolved external symbol __imp__ntohs@
4 referenced in function _WspiapiLegacyGetNameInfo@28
解决该问题,需要只需把ws2_32.lib添加到wpcap.lib Packet.lib后面(见上面第4条)
分享到:
评论

相关推荐

    WinPcap配置指南1

    在这篇配置指南中,我们将介绍如何在 VS2012 环境下使用 WpdPack_4_1_2 和 WinPcap4_1_3 配置 WinPcap。 首先,我们需要新建一个 VS 工程,然后进入 VC++ 目录。在库目录和包含目录中,我们需要添加相应的路径。在 ...

    winpcap配置环境

    虽然Visual Studio 2005也是一个不错的选择,但由于题目要求及历史背景原因,我们将重点讲解在VC6.0中的配置过程。完成配置后,开发者即可利用WinPcap的库函数进行网络数据包捕获等相关操作。 #### 三、安装WinPcap...

    有关winpcap配置的问题

    ### 有关winpcap配置的问题 #### 一、下载 WinPcap 为了开始配置和使用WinPcap,首先需要从官方网站下载相应的驱动程序和开发包。根据提供的信息,下载两个主要组件: 1. **WinPcap4 驱动**: - **下载地址**:`...

    WinPcap配置

    1. IDE集成:如果你使用Visual Studio等IDE,需要在项目设置中指定WinPcap的库文件位置。在项目的属性页中,选择“配置属性” -&gt; “链接器” -&gt; “输入”,在“附加依赖项”中添加libpcap.lib和wpcap.lib。 2. ...

    CapPack.rar_CapPack_visual c_winpcap_winpcap抓包

    WinPcap,全称Windows Packet Capture,是微软Windows系统下的一个开源库,用于实时抓取和过滤网络数据包。这个强大的底层接口提供了对网络流量的直接访问,使得开发者能够构建网络监控、安全分析、性能测量等应用。...

    vs2010中配置Winpcap

    VS2010 中配置 Winpcap 在 VS2010 中配置 Winpcap 需要注意的几个关键步骤:首先,创建一个新的项目 GetDevs.cpp,并在 View 中的 Property Manager 中设置 Debug|Win32 的Properties。在 VC++ Directories 中添加 ...

    CapturePacketDlg.rar_visual c_winpcap

    标签“visual_c”和“winpcap”进一步确认了项目的核心技术栈,即使用C++编程语言,特别是Visual Studio环境,以及依赖于WinPcap库进行底层网络数据包的捕获和处理。 在压缩包内的文件名称列表中,我们可以看到: 1...

    winpcap在vc6下配置环境

    winpcap在vc6下配置环境,winpcap函数 四步骤捕获报文.

    winpcap+vs2013抓包程序

    该代码为winpcap配合visual studio 完成特定网卡的抓包

    winpcap包使用问题总结

    在 Visual Studio 中,需要将 Winpcap 的 Include 和 Lib 目录添加到项目的配置中。具体来说,需要在 Tools-&gt;Options-&gt;Directories 中添加 Include 和 Lib 目录。 二、常见问题和解决方法 1. 找不到 wpcap.dll ...

    基于winpcap的网络协议分析器

    网络课程设计中的网络协议分析器。能实现协议分析器捕获、分析数据包功能。支持以太网MAC协议、IP和TCP/UDP协议的分析,并实现了ARP,ICMP,IGMP协议的分析,提取...Microsoft Visual Studio .NET 2003,WinPcap 4.1.2

    winpcap驱动程序源码

    6. `readme-cygwin`和`readme-visualC`:这两个文件提供了在Cygwin环境和Visual Studio环境下编译WinPCAP的指南,说明了必要的依赖和步骤。 7. `build_wpdpack.txt`:可能是一个详细的构建指南,包含编译和安装过程...

    基于WinPcap的网络流量统计

    3.平台:WinXP,VC6,WinPcap VC2005 编译通过 运行需要安装VC6和WinPcap驱动包http://www.winpcap.org/install/bin/WinPcap_4_0_2.exe 二次开发还需要安装WinPcap开发包...

    WinPcap 3.1 驱动静默安装配置及所需文件

    本文将详细介绍如何进行WinPcap 3.1的静默安装配置,并提供所需的文件信息。 首先,理解WinPcap的核心功能至关重要。它是一个开源库,允许应用程序访问网络接口层的数据包,而无需依赖于操作系统提供的网络编程接口...

    Winpcap安装方法

    虽然上述示例是在Visual C++ 6.0环境下运行的,但Winpcap同样支持.NET和Visual Studio 2005等其他环境。在这些环境中使用Winpcap时,除了遵循类似的配置步骤外,还可以利用.NET Framework或VS2005自带的更高级特性来...

    IPTR.rar_vc winpcap

    1:务必将“Include”文件夹下的所有头文件拷贝到VC安装目录下的库文件夹中,如"D:\Program Files\Microsoft Visual Studio\VC98\Include"。 2:将“Lib”文件夹下面的所以库拷贝到VC安装目录下的Lib文件夹下,比如"D...

    cPP.rar_Capture_vc winpcap

    在调试时注意:1:务必将“Include”文件夹下的所有头文件拷贝到VC安装目录下的库文件夹中,如"D:\Program Files\Microsoft Visual Studio\VC98\Include"。2:将“Lib”文件夹下面的所以库拷贝到VC安装目录下的Lib...

Global site tag (gtag.js) - Google Analytics