|
|
 |
 |
|
|
 |
|
sniffer技术原理及应用(1)
|
|
|
|
编辑:华夏媒体 作者:未知 来源:网络 时间:2006-07-29 总浏览量:1534 |
|
文字大小:[ 大 中 小 ]
文字颜色: 双击滚屏/单击停止 |
|
[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页]
|
{ if(aux->ipf.destinationPort == 0
|| tcph->destinationPort == aux->ipf.destinationPort) //puerto tcp destino { //now we decided what
to do with the packet if(aux->ipf.drop)
return PF_DROP; else
return PF_FORWARD; } } } //udp, protocol = 17 else if(ipp->ipProtocol == 17) { udph=(UDPHeader *)Packet;
if(aux->ipf.sourcePort == 0 ||
udph->sourcePort == aux->ipf.sourcePort) { if(aux->ipf.destinationPort == 0
|| udph->destinationPort == aux->ipf.destinationPort) { //now we decided what
to do with the packet if(aux->ipf.drop) return
PF_DROP; else return
PF_FORWARD; } } } else { //for other packet we dont look more and
.... //now we decided what to do with the
packet if(aux->ipf.drop) return PF_DROP; else return PF_FORWARD; } } //compare with the next rule countRule++; aux=aux->next; }
//we accept all not registered return PF_FORWARD; }
winpcap也是用的NDIS,将自己注册为一个协议处理驱动。(在原代码的driverentry里面能看到)
又:上面这个drvipflt这个代码的过滤部分不知道大家是不是看起来很熟悉,是的,是抄的那个nu
mege的驱动开发包里面的一个包过滤程序里的,看来老外也是喜欢到处抄的。
ruike: 读研的时候专门搞过nids,因此对winpcap可以说是情有独钟,这个东东确实好用,但也确实很烦
人,它有一个致命的缺陷就是只适用于共享式以太网络,对于交换式网络下的数据则无能为力,我
专门做过测试,在使用交换机连接的局域网下,只能监听到本网段内的数据,而对于来自其他网段
的数据则无法监听,除非你把probe接到交换机之前或者接到交换机的console口上,不过那样的
弊端是显而易见的。 所以,winpcap的应用还是很有局限性的!
kingzai: 实现交换网络的嗅探也有不少方法的 1.将你的抓包程序放在网关或代理服务器上,这样抓到整个局域网的包。 2.对交换机实行端口映射,将该端口的数据包全部映射到某个监控机器上。 3.在交换机和路由器之间连接一个HUB,这样数据将以广播的方式发送。 4.实行ARP欺骗,即在你的机器上实现整个包的转发,不过会降低整个局域网的效率。
warton: 嗅探对策: 光说嗅探了,我说说反嗅探吧:)
|
|
[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页]
|
|
|
打印 收藏 关闭 至顶部 |
|
 |
|