winPcap_1_开篇

时间:2021-01-27 18:59:25

什么是WinPcap

  WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.

  因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。

WinPcap产生的目的,就是为Win32应用程序提供"没有被操作系统利用网络协议处理过的数据包"访问方式;

WinPcap提供了以下功能

  • 捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
  • 在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
  • 将原始数据包通过网络发送出去
  • 收集并统计网络流量信息

以上这些功能需要借助安装在Win32内核中的网络设备驱动程序才能实现,再加上几个动态链接库DLL。

哪些程序在使用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用户指南:内容主要适合那些需要利用WinPcap开发应用程序的编程人员: 它包含了WinPcap API的所有函数和数据结构的信息, 说明部分解释了如何编写一个数据包过滤器,而另一个页面则解释了如何将它包含到应用程序中。一个教程也提供了若干个程序范例,您可以使用它来循序渐进地学习WinPcap API的基本使用方法,不过有时候,它也会提供一些高级应用的代码片断。

winPcap核心资料:内容主要为WinPcap的开发、维护人员,以及那些希望了解系统工作原理的人士而准备。它描述了WinPcap的主要设计方法,并解释了它是如何工作的。另外,它阐述了完整的设备驱动的数据结构及源代码,packet.dll的接口以及底层的WinPcap的API。如果您想了解WinPcap内部发生了什么,或者您想去扩展它,那么请您阅读此部分内容。

附加文档

最新最及时的文档,请访问 http://www.winpcap.org/docs/