明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

ARP协议的探测原理_ARP原理

[摘要]ARP(Address Resolution Protool)协议是地址解析协议的缩写。 以太网中, 一个主机要和另 台主机进行通信, 必须要知道目标主机的MAC地址, 而网络传输的数据帧里面就...

ARP(Address Resolution Protool)协议是地址解析协议的缩写。 以太网中, 一个主机要和另

台主机进行通信, 必须要知道目标主机的MAC地址, 而网络传输的数据帧里面就包含目的主机

MAC地址。 这个目的MAC地址由ARP协议获得, 地址解析的过程就是主机在发送帧前, 将目

IP地址作为参数, 获取目标MAC地址的过程。 主机首先检查ARP映射表, 看是否有与目的IPx

应的MAC地址。 如果检查到了匹配的MAC地址, 则将该地址封装到数据帧中并送到输出队列等

待发送。 如果没有找到匹配的MAC地址, 则发送一个含有目的节点IP地址的广播包来询问该Ⅱ

对应的MAC地址。 目标节点收到该广播包后会给源节点发送ARP应答, 告诉源节点它的MAC地

址。 源节点收到ARP应答后, 会更新它的ARP映射缓存。 ARP协议的探测原理

在Windows中, 可以利用SendARPAPI函数获知某IP地址(函数的输入)对应主机的MAC地

址, 若该IP是死点, 则该函数返回错误值, 也就能判断某IP是否为死点。 在调用SemdARP前, 必须

调用FlushlpNetTableAPl函数清除主机的ARP缓存。 ARP协议有一个特点:ARP数据包不能跨越

路由器。 而在CIN中, 众多的子网是由路由器或具有路由功能的高端交换机分隔开的, 因此, 只能

在同一个子网(称为网段)使用ARP协议探测其他IP。 为了解决该问题, 我们利用认证成功的认

证Agent作为我们的探测代理。 原理如下控制中心负责探测与其同一网段的其他IP, 对于其他的

我的手机 2017/9/14 9:48:05

各个网段, 控制中心搜寻相应认证成功的认证Aent作为探测代理, 由后者负责探测与之同一网段

的其他IP信息, 探测完毕后转发给控制中心。 在此过程中, 控制中心负责搜寻探测代理, 发送探测

任务及参数, 接收探测结果并显示在人机界面中, 若探测某主机未受监控, 则采取相关措施惩罚该

用户。

我们前面提到, 在探测到某IP是活动节点后, 由控制中心(实际上是自检测保护服务的

Scanner)或探测代理(称为Spy)发送加密信息给该节点, 在CINSS中, 加密密钥就是用户登录密码

相关的hash值, 只被用户、该节点认证成功的认证Agent、控制中心所拥有。 在认证Agent 接收到该

加密信息后, 利用加密密钥响应。 这和我们前面论述的认证Agent六种认证状态联系起来, 在未认

证成功前, 认证Agent不可能真正拥有加密密钥, 即使在自动认证过程中所试用的加密密钥也是未

被验证的。 因此, 未认证成功的认证Agent不可能正确地响应, 这满足网络通信的安全性要求。 正

是基于这种考虑, 我们要求未认证成功的认证Agent阻塞所有的数据包, 包括ARP包, 使其“看起

来”是一个死点。 但这又产生一个新问题, 因为ARP包被阻塞, 认证Agent无法进行认证。 我们在

前面定义的控制代码负责暂时放行正在认证状态时的认证数据包, 一旦认证结束, 重新阻塞所有

的数据包。 在正在认证的过程中, 若该IP被探测, 此时认证Agent尚未认证结束, 这样就会导致其

被误认为非控节点。 因此, 通过两次SendARP的使用可以解决该问题, CINSS固定地设置认证持续

时间为5秒, 这在高宽带的CIN中已经是非常久的时间, 设置两次认证间隔时间必须大于60秒, 设

置Scanner与Spy等待响应的时间为10秒。 若在第一次SemdARP时探测某IP是活动节点, 其间该

节点的认证Agent认证成功, 则能正确响应, 若认证失败, 则节点的ARP包被阻塞, 第二次SendARP

必然失败, 这样该节点不会被认为是非控节点。 现在只剩下最后一个问题:在探测到非控节点后,

如何对其进行惩罚, 我们利用ARP欺骗方法实现之。


上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。