WinPcap是用于网络封包抓取的一套工具,可适用于32位的操作平台上解析网络封包,
包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库,及可用来直接
存取封包的应用程序界面。
WinPcap是一个免费公开的软件系统。它用于windows系统下的直接的网络编程。
大多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据
传输,因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于
文件读写的函数接口。
但是有时,简单的方法是不够的。因为一些应用程序需要一个底层环境去直接操纵网络
通信。因此需要一个不需要协议栈支持的原始的访问网络的方法。
WinPcap适用于下面的开发者:
1、捕获原始数据包。不管这个包是发往本地机,还是其他机器之间的交换包。
2、在数据包被发送到应用程序之前,通过用户定义的规则过滤。
3、向网络发送原始数据包。
4、对网络通信量做出统计。
这些功能依赖于Win32系统内核中的设备驱动以及一些动态链接库。
WinPcap提供了一个强大的编程接口,它很容易地在各个操作系统之间进行移植,也很
方便程序员进行开发。
什么样的程序需要使用WinPcap
很多不同的工具软件使用WinPcap于网络分析,故障排除,网络安全监控等方面。
WinPcap特别适用于下面这几个经典领域:
1、网络及协议分析
2、网络监控
3、通信日志记录
4、traffic generators
5、用户级别的桥路和路由
6、网络入侵检测系统(NIDS)
7、网络扫描
8、安全工具
WinPcap有些方面不能做。
它不依靠主机的诸如TCP/IP协议去收发数据包。这意味着它不能阻塞,不能处理
同一台主机中各程序之间的通信数据。它只能“嗅探”到物理线路上的数据报。
因此它不适用于traffic shapers,QoS调度,以及个人防火墙。
Winpcap内部结构
Winpcap是一个Win32平台下用于抓包和分析的系统。
包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的
独立于系统的DLL(Wpcap.dll)。
分析在线播放的流媒体直接下载地址信息 类似与libpcap的包,支持WIN32平台。可以进行信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley 分帧过滤器)模型的包。