Winpcap是windows平台下的一个专业Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。
1. 到官网www.winpcap.org下载安装winpcap,为应用程序的运行做准备,如wireshark就需要先安装此包;
2.到www.winpcap.org/devel.html下载程序员开发包,解压后除了一些文档、example和demo,要用到的就是include和Lib文件夹;
3.打开vc6.0在project Settings中添加刚才include和Lib的路径(或者直接把第二部解压得到的.Lib和.h直接放到vc安装目录对应位置);
4.在Link选项卡加入wpcap.lib ws2_32.lib Packet.lib
5.在预定义宏添加WPCAP,HAVE_REMOTE或直接在pcap.h文件中加入
#define WPCAP
#define HAVE_REMOTE
在编译程序时出现wpdpack\include\pcap-stdinc.h(79) : error C2144: syntax error : missing ';' before type 'unsigned int' ,因为vc6.0版本太低,需要安装psdk。或者直接定位到错误处把_W64删除就ok了。
定义
[WinPcap用户指南]
结构体 | |
struct | pcap_file_header |
libpcap堆文件首部 更多... | |
struct | pcap_pkthdr |
堆文件中包的首部 更多... | |
struct | pcap_stat |
保存一个接口统计值的结构体 更多... | |
struct | pcap_if |
接口列表中的一项,在 pcap_findalldevs()中被使用 更多... | |
struct | pcap_addr |
表示一个接口地址,在 pcap_findalldevs()中被使用 更多... | |
宏定义 | |
#define | PCAP_VERSION_MAJOR 2 |
主要libpcap堆文件版本 | |
#define | PCAP_VERSION_MINOR 4 |
次要libpcap堆文件版本 | |
#define | PCAP_ERRBUF_SIZE 256 |
libpcap错误信息缓存的大小 | |
#define | PCAP_IF_LOOPBACK 0x00000001 |
接口是回调的 (interface is loopback) | |
#define | MODE_CAPT 0 |
捕捉模式,在调用 pcap_setmode() 时被使用。 | |
#define | MODE_STAT 1 |
统计模式,在调用 pcap_setmode() 时被使用。 | |
自定义类型 | |
typedef int | bpf_int32 |
32-bit integer | |
typedef u_int | bpf_u_int32 |
32-bit unsigned integer | |
typedef pcap | pcap_t |
一个已打开的捕捉实例的描述符。这个结构体对用户来说是不透明的,它通过wpcap.dll提供的函数,维护了它的内容。 | |
typedef pcap_dumper | pcap_dumper_t |
libpcap存储文件的描述符 | |
typedef pcap_if | pcap_if_t |
接口列表中的一项,参见 pcap_if。 | |
typedef pcap_addr | pcap_addr_t |
表示一个接口地址,参见 pcap_addr。 |
详细描述
wpcap.dll的定义定义文档
#define MODE_CAPT 0 |
捕获模式,在调用 pcap_setmode() 时被使用
第 172 行,文件 incs/pcap.h.
#define MODE_STAT 1 |
统计模式,在调用 pcap_setmode() 时被使用
第 173 行,文件 incs/pcap.h.
#define PCAP_ERRBUF_SIZE 256 |
libpcap错误信息缓存的大小
第 59 行,文件 incs/pcap.h.
#define PCAP_IF_LOOPBACK 0x00000001 |
接口是回调的 (interface is loopback)
第 156 行,文件 incs/pcap.h.
#define PCAP_VERSION_MAJOR 2 |
主要libpcap堆文件版本
第 56 行,文件 incs/pcap.h.
#define PCAP_VERSION_MINOR 4 |
次要libpcap堆文件版本
第 57 行,文件 incs/pcap.h.
自定义类型文档
typedef int bpf_int32 |
typedef u_int bpf_u_int32 |
32-bit unsigned integer
第 67 行,文件 incs/pcap.h.
typedef struct pcap_addrpcap_addr_t |
表示一个接口地址,参见 pcap_addr.
第 73 行,文件 incs/pcap.h.
typedef struct pcap_dumper pcap_dumper_t |
libpcap存储文件的描述符
第 71 行,文件 incs/pcap.h.
接口列表的一项,参见 pcap_if.
第 72 行,文件 incs/pcap.h.
typedef struct pcap pcap_t |
一个已打开的捕捉实例的描述符。这个结构体对用户来说是不透明的,它通过wpcap.dll提供的函数,维护了它的内容。
第 70 行,文件 incs/pcap.h.
documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2007 CACE Technologies. All rights reserved.
2007 Translated By CoffeeCat Studio