2.1 WinPcap概述

大多数网络应用程序是通过被广泛使用的操作系统原件来访问网络的,如socket。由于操作系统已经处理了底层的细节问题(如协议的处理、数据包的封装等),并提供了与读写文件类似的函数接口,因此使用该方法可以很容易地访问网络中的数据。

然而有些时候,这种“简单的方式”并不能满足任务要求,因为有些应用程序需要直接访问网络中的数据包。也就是说,应用程序需要访问网络中的“原始”数据包,即没有被操作系统使用、网络协议处理过的数据包。

WinPcap就是为Windows平台的应用程序提供这种访问方式,其主要提供了下列功能:

❑捕获原始数据包。无论是发送到运行WinPcap的机器上的数据包,还是在其他主机(存在网络共享介质上的主机)上进行交换的数据包,都可以被捕获。

❑在数据包传递给应用程序之前,根据用户指定的规则过滤数据包。

❑将原始数据包发送到网络上。

❑收集网络流量与网络状态的统计信息。