From http://blog.csdn.net/zougangx/article/details/5610983
WinPcap: WinPcap 中文技术文档
介绍
本手册提供了WinPcap编程接口的描述及其源代码。它与详尽的WinPcap核心资料一起,为编程人员提供了详细的函数与结构的描述,同时也提供了若干教程和程序范例。
您可以点击页面顶部的导航链接,或者使用页面左边的树形控件,来跳转到您感兴趣的内容。
本文档使用 the Doxygen documentation system创建,您可以登录 http://www.doxygen.org 阅览相关内容。
什么是WinPcap
WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.
大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。 这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口。
然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。
WinPcap产生的目的,就是为Win32应用程序提供这种访问方式; WinPcap提供了以下功能
- 捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
- 在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
- 将原始数据包通过网络发送出去
- 收集并统计网络流量信息
以上这些功能需要借助安装在Win32内核中的网络设备驱动程序才能实现,再加上几个动态链接库DLL。
所有这些功能都能通过一个强大的编程接口来表现出来,易于开发,并能在不同的操作系统上使用。这本手册的主要目标是在一些程序范例的帮助下,叙述这些编程接口的使用。 如果您现在就想开始摸索这些功能,您可以直接进入 WinPcap用户手册 .
哪些程序在使用WinPcap
WinPcap可以被用来制作许多类型的网络工具,比如具有分析,解决纷争,安全和监视功能的工具。特别地,一些基于WinPcap的典型应用有:
- 网络与协议分析器 (network and protocol analyzers)
- 网络监视器 (network monitors)
- 网络流量记录器 (traffic loggers)
- 网络流量发生器 (traffic generators)
- 用户级网桥及路由 (user-level bridges and routers)
- 网络入侵检测系统 (network intrusion detection systems (NIDS))
- 网络扫描器 (network scanners)
- 安全工具 (security tools)
什么是WinPcap做不到的
WinPcap能 独立地 通过主机协议发送和接受数据,如同TCP-IP。这就意味着WinPcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯:它仅仅能简单地"监视"在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。
如何搭建开发环境
下载WinPcap auto-installer (driver +DLLs)(http://www.ferrisxu.com/WinPcap/html/index.html),安装完后,在system32下后生成wpcap.dll文件,需要依赖该dll的可执行文件不需要再拷贝该dll到exe目录。
继续下载 Developer’s pack(http://www.winpcap.org/devel.htm),解压,然后,设置我们工程的附加包含目录,连接器的附加依赖库目录。