1、介绍
WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库。
大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的、令人熟悉的接口。
然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。
WinPcap产生的目的,就是为Win32应用程序提供这种访问方式。WinPcap 提供了以下功能:
2、用途
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能独立地通过主机协议发送和接受数据,如同TCP-IP。这就意味着WinPcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯:它仅仅能简单地"监视"在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。