使用WinPcap编程
创建一个使用 wpcap.dll 的应用程序
用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按以下步骤:
- 在每一个使用了库的源程序中,将 pcap.h 头文件包含(include)进来。
- 如果你在程序中使用了WinPcap中提供给Win32平台的特有的函数, 记得在 预处理中加入 WPCAP 的定义 。
- 如果你的程序使用了WinPcap的远程捕获功能,那么在预处理定义中加入 HAVE_REMOTE 。 不要 直接把remote-ext.h直接加入到你的源文件中去。
- 设置VC++的链接器(Linker),把 wpcap.lib 库文件包含进来。 wpcap.lib 可以在WinPcap中找到。
- 设置VC++的链接器(Linker),把 ws2_32.lib 库文件包含进来。这个文件分布于C的编译器,并且包含了Windows的一些 socket 函数。本教程中的一些范例程序,会需要它。
记住以下几点 :
- 要添加一个预处理定义,你需要打开 Project 菜单,选择 Settings ,然后选择 C/C++ 选项卡,在 General 类下,你必须在 Preprocessor Definitions 下的文本框中添加定义。
- 要在一个VC++6.0工程中,添加一,个新的库,你必须打开 Project 菜单,选择 Settings ,然后选择 Link 选项卡,然后把新库的名字添加到 Object/Library modules 下的文本框中
- 要向VC++6.0中添加一个新的库所在的路径,你必须打开 Tool 菜单,选择 Options ,然后选择 Directories 选项卡,在 Show directories 下拉框中选择 Library files ,并且将新的路径添加到 Directories 中去
- 要向VC++6.0中添加一个新的包含文件所在的路径,你必须打开 Tool 菜单,选择 Options ,然后选择 Directories 选项卡,在 Show directories 下拉框中选择 Include files ,并且将新的路径添加到 Directories 中去
wpcap.dll
是一个包含了公共WinPcap API的动态链接库,它输出了一组依赖于系统的函数,用来捕获和分析网络流量。这些函数的用途有:
- 获取网络适配器列表
- 获取网络适配器的不同信息,比如网卡描述和地址的列表
- 使用PC的一个网卡来捕获数据包
- 向网络上发送数据
- 有效保存数据包到磁盘,并通过一个接口捕获数据包,就如同从网卡捕获数据一样
- 使用高级语言创建一个数据包过滤器,并把它们应用到数据捕获中去
wpcap.dll 与 libpcap 兼容,后者是Unix平台下知名的数据包捕获库。这个兼容性意味着你可以开发可移植的网络工具,这些工具既可以运行在Win32系列的操作系统,也可以运行在与Unix兼容的机器上。