WinPcap是windows环境下一个直接访问网络链路层的工具,提供了绕过协议栈捕获和发送网络封包的功能,并且包含内核级别的封包过滤、网络统计引擎、支持远程捕获封包。WinPcap是libpcap的windows版,但是linpcap不支持发送数据包,WinPcap扩展了libpcap的功能。
WinPcap可以做什么
- 封包捕获、过滤(Wireshark)
- 网络监测(各种流量统计、实时网速工具)
- 网络入侵检测
- 嗅探器(封包窃听,arp欺骗)
- 发送封包(发送arp欺骗封包、转发窃听封包)
- 等等等
我们只要清楚一点:WinPcap是一个直接访问网络的工具(我猜是和链路层位置相同)!!!
说明什么?
- WinPcap可以捕获到当前网卡接收到的所有封包
- WinPcap可以发送自定义的网络封包,不需要经过链路层、应用层、传输层、网络层(所以需要自己定义好数据头)。
通常网卡会丢弃目的地址非本机MAC的封包,开启混杂模式后将不再检测目的MAC地址。
WinPcap做不到的
WinPcap不能阻止、过滤或操作同一机器上的其他应用程序通信,仅能简单的“监视”在网络上传输的数据包(干看着,什么也做不了)。
我们可以用来做什么?
网络嗅探、arp欺骗、dns欺骗、http劫持。。。怎么听着就不是好事。
好吧,可以用来深入学习计算机网络、深入理解TCP/IP协议,然后就可以知道上面那些事是如何实现的了。