也谈ARP协议与ARP地址欺骗

ARP 是地址解析协议。它将IP 地址和 MAC 地址关联起来。比如说,一个网络,有A、B、C 和 D四个设备,还有一个特殊的设备,它是路由器。每个设备有
IP 地址和 MAC 地址。


假设,设备A 需要发送数据包给设备C,设备A的应用程序只知道要发送数据给10.0.2.6这个ip,但是发不出去。

这是因为,IP地址类似身份证号,在全国范围内,它很好用,但在家庭范围内不灵。MAC类似名字,在全国范围内不灵,但家庭内部,还得靠这个。

同样,局域网内部通信,也就是通过普通二层交换机通信,IP(身份证号)不灵,得依靠MAC(名字)。A必须知道10.0.2.6的MAC地址,才能将数据包发送出去。然而,设备A怎么知道设备C的MAC呢?依靠
ARP 协议。

ARP怎么运行?设备A发送一个广播包,它就是ARP 包,问所有设备:
10.0.2.6(身份证号)是谁的?或许有善于思考的人会问,此时A不知道其他机器的mac地址,怎么发数据包?我回答:广播包是普发,既然普发,当然无需知道接收方的mac地址。


其他设备都不予理睬,设备C知道自己的IP是10.0.2.6,所以,它立即做出回应。

正常情况下,其他的设备都默不作声,只有设备C,它会发出应答包。善于思考的人此时又会问:C不知道A的mac地址,怎么回应?错:A发送的广播包中带有自己的mac地址,所以,C此时已经有了A的mac地址。
回应包就像一张身份证:一行是身份证号ip,下一行是姓名mac。就这样,设备A通过询问,拿到了设备C的MAC。


设备A拿到设备C的MAC,两者就可以在局域网内部通讯了。局域网中的所有通信,都是建立在 ARP 协议基础之上。

ARP 协议是一个过于简单的协议,只是请求和响应。它的作用是,通过IP地址(身份证号),问出MAC地址(名字)
在局域网范围内,你只要有一个IP地址(身份证号),广播一声,有人会发出回应,奉上一张身份诊卡数据包。卡上印有IP地址和MAC地址,发问者收到身份卡后,放入盒子,该盒子称作ARP表。

查看ARP表:

我用VMware以桥接方式虚拟了2台机器,一台模拟设备A,它是kali系统,一台模拟设备C,它是Window系统。
到我的KALI机器上,执行命令:arp -a,KALI虚拟机的 ARP表显示出来了,第一行是路由器的身份卡,有它的IP和 MAC。


再到 Windows 虚拟机,运行CMD,再执行 ARP -a,看它收到了几张身份卡
window虚拟机的ARP表列出来了


这台WINDOW虚拟机,每次向互联网发送请求,请求包会定向到路由器,也就是这个 MAC 地址,10.0.2.1是路由器IP,后面跟着是路由器的MAC。

这个表并不可靠,别人可以发送假的身份卡,修改它。

现在假设我们浏览互联网的网页,只要在这个局域网中,用hacker浏览或是victim浏览都是一样的,他们发送请求,数据包会发送到路由器,路由器再将该请求包发送到互联网中的某台机器,等到响应包后,再将响应包转发给请求它的设备。
hacker或victim或网络上的其他客户端发送请求,都要经过路由器中转,见下图:


所以,网络中,hacker机器可以利用 ARP协议的缺陷,发送两个身份卡ARP包,一个给网关,一个给靶机(victim)。
hacker给路由器一张身份证卡: 卡上印的IP是靶机的,mac是自己的。路由器接到身份证卡,把他放在盒子里,它被这张身份卡欺骗了。
victim遇到同样的事,hacker给victim一张身份证卡:
卡上印的IP是路由器的,mac是自己的。victim毫不犹豫的收下身份卡,然后,根据假身份卡发送数据包。

最后的结果是:victim将hacker当成路由器,而路由器把hacker当成了victim。见下图:


因此,无论何时, victim发送给路由器的请求包,都会被发送给hacker,hacker再将它们转发到路由器。
路由器收到互联网来的响应包,就会转给hacker,因为路由器以为hacker是victim,然后,hacker将其转发给victim。见下图:


hacker处于连接的中间,hacker拥有了为所欲为的力量。

总结

之所以成功成为中间人,是因为 ARP 不安全,有两个原因。
1、就算没有事前询问(发广播包),设备也会接收别人主动发来的身份诊卡(ARP回应包),攻击者主动发送身份卡,靶机和路由器照单全收,根本没有等待他们的arp询问,直接发送假的身份卡。
2、设备接到任何身份卡,不辨真假,直接保存

hacker向路由器发身份卡:上一行是别人的ip,10.0.2.7,下一行是自己的mac,这张身份卡,ip是假的,它是victim的,mac是自己的,路由器接到身份诊卡,毫不犹豫,直接保留。也就是直接更新arp表,hacker向victim发身份卡:上一行是路由器的ip,10.0.2.1,下一行是自己的mac。同样,ip是假的,它是路由器的,mac是自己的。

因为 ARP协议的两个弱点,才有了ARP 欺骗攻击法。

一行是自己的mac。同样,ip是假的,它是路由器的,mac是自己的。

因为 ARP协议的两个弱点,才有了ARP 欺骗攻击法。

网络安全工程师(白帽子)企业级学习路线

第一阶段:安全基础(入门)

img

第二阶段:Web渗透(初级网安工程师)

img

第三阶段:进阶部分(中级网络安全工程师)

img

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资源分享

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJyg03IA-1693067197687)(C:\Users\Administrator\Desktop\网络安全资料图\微信截图_20230201105953.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值