0x0100:什么是WinPcap
原型是libpcap(UNIX)库。
WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.
WinPcap比Sockets强大的原因是它可以捕获、生成任意原始数据包即没有被操作系统利用网络协议处理过的数据包。
WinPcap产生的目的,就是为Win32应用程序提供这种访问方式; WinPcap提供了以下功能
捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
将原始数据包通过网络发送出去
收集并统计网络流量信息
0x0101:什么程序在使用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)
Sniffer和wireshark(2006年之前称为Ethereal)是最典型的案例。
0x0102:什么是WinPcap做不到的
WinPcap能独立地通过主机协议发送和接受数据,如同TCP-IP。这就意味着WinPcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯:它仅仅能简单地"监视"在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。