winpcap 天生缺陷

1)winpap  在大数据量的情况下容易丢包,原因是数据包从网卡到应用程序需要经过多次copy,首先从网卡拷贝到内核缓冲区,从内核缓冲区copy到应用缓冲区;在PC cpu低的情况下丢包很明显,尤其是做千兆网络数据包捕获的时候就更加显现出来了。

2)winpcap 是旁听模式,所以无法阻断UDP应用,无法流量限制,并容易数据丢包;阻断规则有可能引起网络中断或无效;

3)wincpap 即使被你的应用程序截取后,数据包也会继续往上层传递,比如wireshark也能抓到你的数据包;

 

网络监控软件大都采用大都采用WINPCAP作为驱动程序,只是开发上层一些界面应用而已因此大同小异,所以原理上决定只能采用旁听模式也必然性能低下、功能缺乏;

WINPCAP驱动是工作在协议高层所以必须接受火墙的管理因此首先效率很低、性能提高也就成了奢望;网络监控最核心的关键部分就是引擎驱动部分,所以要解决这个问题,还是得从源头下手,因为winpcap是一个Ndis协议驱动,所以寻在固有的缺陷,在如今的大数据时代,彻底解决该问题,只能编写自己的Ndis中间层过滤驱动。

你可能感兴趣的:(winpcap 天生缺陷)