抓包工具是如何抓到数据帧的?小弟我没有安装winpcap

抓包工具是怎么抓到数据帧的??我没有安装winpcap啊
用winsock是取不到比IP层更底层的数据的,只能用winpcap,但我一直用的抓包工具IPTOOL能抓到IP层更底的包啊,MAC地址都给我列出来了.
那个IPTOOL是怎么个原理啊?我看到他用到的DLL里有packet.dll,但不是winpcap用到的那个packet.dll,大小也不一样,换了不能工作.
那抓包工具是怎么抓到底层的数据链路层的包呢??

------解决方案--------------------
一个数据包的处理流程是这样的:

先从网卡上接收到,然后网卡驱动程序会将数据包发给内核协议栈,内核协议栈再逐层网上传递

假如引入了抓包程序,那在网卡驱动那一层,就会cp出来两份数据包,一份送给协议栈,一份送给sniffer的

packet filter,然后再逐层解包

所以,只要有能在网卡驱动层操作的库就能实现抓包,winpcap只是实现了这个功能的应用最广泛的库,但不是唯一~~
------解决方案--------------------
看有没有驱动程序被装载
------解决方案--------------------
hook无处不在!