高手教你辨别ARP欺骗原理及防范被骗

Windows XP是美国微软公司研发的基于X86、X64架构的PC和平板电脑使用的操作系统 , 于2001年8月24日发布RTM版本 , 并于2001年10月25日开始零售 。其名字中“XP”的意思来自英文中的“体验(Experience)” 。该系统是继Windows 2000及Windows ME之后的下一代Windows操作系统 , 也是微软首个面向消费者且使用Windows NT5.1架构的操作系统 。经常听到身边的朋友说 , 自己电脑的网络又被啥啥攻击了 , 经常有一些不道德的人用ARP欺骗软件攻击别人 , 让很多人掉线 , 甚至让整个网络都瘫痪 。针对这个问题 , 我们首先先来了解下它的攻击原理及欺骗原理 , 深受其害的朋友们赶紧来看看 。
一 ,  ARP欺骗的原理如下:
假设这样一个网络 , 一个Hub接了3台机器
HostA HostB HostC 其中
A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
正常情况下 C:\arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
现在假设HostB开始了罪恶的ARP欺骗:
B向A发送一个自己伪造的ARP应答 , 而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址) , MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC , 这里被伪造了) 。当A接收到B伪造的ARP应答 , 就会更新本地的ARP缓存(A可不知道被伪造了) 。而且A不知道其实是从B发送过来的 , A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址 , 没有和犯罪分子B相关的证据 , 哈哈 , 这样犯罪分子岂不乐死了 。
现在A机器的ARP缓存更新了:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
这可不是小事 。局域网的网络流通可不是根据IP地址进行 , 而是按照MAC地址进行传输 。现在192.168.10.3的MAC地址在A上被改变成一个本不存在的MAC地址 。现在A开始Ping 192.168.10.3 , 网卡递交的MAC地址是DD-DD-DD-DD-DD-DD , 结果是什么呢?网络不通 , A根本不能Ping通C!!
【高手教你辨别ARP欺骗原理及防范被骗】所以 , 局域网中一台机器 , 反复向其他机器 , 特别是向网关 , 发送这样无效假冒的ARP应答信息包 , NND , 严重的网络堵塞就开始了!网吧管理员的噩梦开始了 。我的目标和任务 , 就是第一时间 , 抓住他 。不过从刚才的表述好像犯罪分子完美的利用了以太网的缺陷 , 掩盖了自己的罪行 。但其实 , 以上方法也有留下了蛛丝马迹 。尽管 , ARP数据包没有留下HostB的地址 , 但是 , 承载这个ARP包的ethernet帧却包含了HostB的源地址 。而且 , 正常情况下ethernet数据帧中 , 帧头中的MAC源地址/目标地址应该和帧数据包中ARP信息配对 , 这样的ARP包才算是正确的 。如果不正确 , 肯定是假冒的包 , 可以提醒!但如果匹配的话 , 也不一定代表正确 , 说不定伪造者也考虑到了这一步 , 而伪造出符合格式要求 , 但内容假冒的ARP数据包 。不过这样也没关系 , 只要网关这里拥有本网段所有MAC地址的网卡数据库 , 如果和Mac数据库中数据不匹配也是假冒的ARP数据包 。也能提醒犯罪分子动手了

    推荐阅读