|
![]() | 作者: lih [lih]
![]() |
登录 |
先问一下,有没有对ARP广播包不发送响应包的嗅探器?若没有,为什么程 序(见题为“检测嗅探器”的帖子和下面的修改代码)收不到响应包,是系统问题,还是别的什么 问题? 现将题为“检测嗅探器”中代码的运行现象和分析结果列举如下:(程序运 行于Win2K系统中) 运行现象: 1、不改变原码时,可接收到一个数据包,但无法检测到嗅探器(不符合检测条 件) 2、将检测条件改为 if( pARPPacket->ehhdr.eh_type == htons(EPT_ARP)) strncmp((char*)(pARPPacket->arphdr.arp_tha), MacAddr,6) == 0) {、、、} 时,可检测到本机,并可能检测到其它的主机 3、将检测条件改为 if(strncmp((char*)(pARPPacket->ehhdr.eh_dst), BroMac,6) == 0 &&pARPPacket->ehhdr.eh_type == htons(EPT_ARP) &&strncmp((char*)(pARPPacket->arphdr.arp_tha), MacAddr,6) == 0 &&pARPPacket->arphdr.arp_op == htons(ARP_REQUEST)) {、、、} 时,可检测到本机,不能检测到其它的主机(BroMac为伪广播地址)。 4、将检测条件改为 if(strncmp((char*)(pARPPacket->ehhdr.eh_dst), BroMac,6) == 0 &&pARPPacket->ehhdr.eh_type == htons(EPT_ARP) &&strncmp((char*)(pARPPacket->arphdr.arp_tha), MacAddr,6) == 0 &&pARPPacket->arphdr.arp_op == htons(ARP_REPLY)) {、、、} 时,可接收到一个数据包,但并不是所期望的ARP响应包。 个人分析结果: 装有嗅探器的主机可收到发出的ARP请求包,但并没有发送响应包。此请求 包在网络上转一圈后,又被发送者接收。 另外,对ARP广播包响应时,是不是将请求包帧头中的MAC地址对简单地对换一下,即成为响应包中的帧头? 上述改动及分析是否正确,以及为什么收不到所期望的ARP响应包,请大家分析, 并讨论之。 |
地主 发表时间: 12/04 23:45 |
![]() | 回复: zcg007 [zcg007] ![]() |
登录 |
唉,怎么都不懂啊!!!![]() ![]() |
B1层 发表时间: 04-02-08 17:13 |
![]() | 回复: eagle_1 [eagle_1] ![]() |
登录 |
来这的都是高手~! |
B2层 发表时间: 04-07-12 15:36 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号