首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于网络嗅探器的一些疑问!来看看

2012-05-03 
关于网络嗅探器的一些疑问!!高手进来看看最近想写一个网络嗅探的程序,用 SIO_RCVALL就可以把网卡设为混杂

关于网络嗅探器的一些疑问!!高手进来看看
最近想写一个网络嗅探的程序,用 SIO_RCVALL就可以把网卡设为混杂模式.
WSAIoctl(sock, SIO_RCVALL, &optval, sizeof(optval), NULL, 0, &dwBytesRet, NULL, NULL);

那么,在混杂模式里,我这个程序把别的程序(比如浏览器)的数据包取走了,为什么浏览器还能正确显示呢?

我想,问题的根本是程序是怎么取得从网卡上收到的数据呢,又或者内核是怎样分配网卡的数据给程序的呢?

还有一个问题就是我用了SIO_RCVALL后我只能够收到本机的数据,但不能收到同一局域网别的主机的数据啊~~~什么问题?

[解决办法]
你只是对数据包具有读的权限,而没有修改的权限。你读的数据包是是从网卡上读取的,应该是一个拷贝,而这些数据报会按照协议栈是本主机的请求的数据包还要提交到应用程序,比如浏览器。你从网卡上读取的数据包不仅是是该主机请求的数据包,不是本主机的数据包也能够抓到,因为嗅探器是从网卡上获取的数据包。
[解决办法]
混杂模式是能读到非你找个ip地址的包,你本机的没到链路之前的就读到了吧

热点排行