扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
前面说了,一次查询过程需要一次广播和一次应答,但 ARP 协议中并不要求广播与应答成对出现,也就是可以没有广播,任何一台主机都可以主动发送应答数据包,如果目标主机没有使用静态MAC,则只要收到应答广播就会更新自己的ARP缓存表。因此,我们可以人为的构建一个错误的应答数据包让目标主机更新自己的ARP缓存。
比如从本机控制,不让主机A与主机B通讯:
本机向主机A发送应答数据包,告诉它 IP-B 的 MAC 是 XX:XX:XX:XX:XX:XX
本机向主机B发送应答数据包,告诉它 IP-A 的 MAC 是 YY:YY:YY:YY:YY:YY
此时主机A和主机B的 ARP 缓存中关于对方的MAC都错误的,他们互发数据时就会发到一个错误或都根本不存在(取决于伪造的MAC)的网卡,A、B 间的通讯自然失败。(其实只要其中一台的ARP缓存错误,A、B 间的通讯就会表现不正常)
想想,如果伪造的应答数据包是告诉主机B:IP-1 的 MAC 是 ZZ:ZZ:ZZ:ZZ:ZZ:ZZ 会怎么样?则主机B与网关通讯会不正常,就会表现为断网。如果同时对网关欺骗,告诉它主机B的MAC为一个错误值,且这种欺骗一直持续,则主机B无法上网了。
大家常说的网络执法官就是利用ARP欺骗来踢人的。执法官运行时首先会大量发送广播,获得所有主机的MAC地址,然后,想欺骗谁,就向谁发送伪造的应答数据包。
当然,ARP欺骗决不仅止于此,比如还可以使目标主机断线后将自己的MAC伪造成被欺骗主机的MAC达到特殊目的,或者同时欺骗网关与目标主机,但是用自己的MAC代替伪造应答数据包中的随机MAC并开启本机的数据转发功能,插入到网关与目标主机通讯中充当代理,达到监听目标主机的目的。但本文的目是要说明LnS中的ARP规则如何设置,ARP欺骗不是重点。
ARP 防范
说到这样,大家肯定已经发现一个问题:欺骗者必须能与被欺骗者通讯,以便发送伪造的应答数据包,否则欺骗过程就不能完成。基于这点,我们可以从几个地方来防止 ARP 欺骗:
一、不让非信任的主机查询自己的MAC,欺骗者不能与本机通讯,自然无从欺骗了
可以拦截它的查询广播(要钱的一律不许进门)
可以拦截本机对它的应答(都来要吧,我就一句话,没钱,死猪不怕开水烫)
二、使用静态MAC,拒绝更新ARP缓存。
即使有仿造应答到达本机,但本机不使用该包更新自己的ARP缓存,欺骗失败。那么为什么使用变种二方法的网友实际中“可行”了?说可行是因为过滤太严格,能防止绝大数大ARP欺骗,加引号是因为可行是暂时的,连续的长时间测试,很可能会断网的。
这跟具体的网络环境有关系,可能的原因比较多。一种可能的原因是LnS有BUG,过滤起作用在本机与网关建立连接之后,或者使用了静态MAC、指定IP避免DHCP租约失效之类,具体的我也分析不清楚。但从原理上说,这方法是错误的。
安全是相对的
防止ARP欺骗最好的办法在网关和各子机上均采用静态MAC绑定。防火墙只能增加安全系数,不能保证绝对完全,一是因为防火墙可能有BUG或者功能本身不完善又或者设置不善,二是现实中的妥协可能存在漏洞。比如本机为了上网信任了网关,同时为了共享信任了主机B,但主机B是没有任何安全防护,攻击者可以从主机B下手,迫使主机B当机后将自己伪造主机B的IP与MAC,获得与本机通讯的能力后再用其它办法攻击,更严重的情况是如果网关本身不安全,那么在本机上如何防护都不能取得较好的效果。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者