ARP协议

admin 2022年5月5日16:24:51评论69 views字数 2330阅读7分46秒阅读模式

ARP协议介绍

它是将IP地址解析为以太网MAC地址(或称物理地址)的协议
在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,必须知道对方的IP地址和MAC地址



ARP工作实例

ARP地址解析协议,是如何把目的地址的IP地址转化为MAC地址的?
1. 首先,主机A向主机B发送消息,但它不知道主机B的MAC地址,只知道主机B的IP地址。此时,主机A会在当前局域网下以广播的形式发送ARP请求数据报,表示主机A想知道主机B的MAC地址

ARP协议

2. 局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,除了主机B外,在这个局域网内的其他主机都会丢弃数据报
3. 验证成功的主机会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文以单播的方式直接 发送给ARP请求报文的请求方
ARP协议



ARP缓存表

为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念

这个表包含IP地址MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,称之为ARP表项

当需要发送数据时,主机会根据数据报中的目标IP地址信息,然后在ARP缓存表中查找对应的MAC地址,最后通过网卡将数据发送出去

注意:arp缓存中每一项都被设置了生存时间,一般是20分钟,从被创建时开始计时,到时则清除

通过arp –a命令查看ARP缓存表:

ARP协议


ARP报文格式

ARP报文分为ARP请求和ARP应答报文两种,它们的报文格式可以统一为如图

ARP协议

硬件类型:占2字节,表示ARP报文可以在哪种类型的网络上传输,值为1时表示为以太网地址上层协议类型:占2字节,表示硬件地址要映射的协议地址类型。其中,0x0800表示IP协议MAC地址长度:占1字节,标识MAC地址长度IP地址长度:占1字节,标识IP地址长度操作类型:占2字节,指定本次ARP报文类型。1表示ARP请求报文,2表示ARP应答报文源MAC地址:占6字节,表示发送方设备的硬件地址源IP地址:占4字节,表示发送方设备的IP地址目的MAC地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00, 表示任意地址,因为现在不知道这个MAC地址目的IP地址:占4字节,表示接收方设备的IP地址


ARP欺骗

简介:ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。

原理:ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。


ARP欺骗复现:
环境准备:
攻击机:kali linux靶机:window7靶机IP:192.168.8.122默认网关:192.168.8.1
复现过程:
在kali里面输入arp 命令来查看局域网存活的机器,发现局域网中192.168.8.121这台机器存活。

ARP协议

接下来使用kali 里面自带的工具arpspoof 对192.168.2.121进行arp欺骗攻击。
Arpspoof命令详解:-i 指定要使用的接口(即指定一块网卡)-c指定在恢复ARP配置时使用的硬件地址;当在清理(cleaning up)时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值————使用自己的硬件地址要工作地更为可靠。-t 指定一个特殊的、将被ARP毒化的主机(如果没有指定,则认为是局域网中所有主机)。重复可以指定多个主机。-r 毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)host 是你想要截获数据包的主机 (通常是网关)。
在kali里面使用命令:
arpspoof -i eth0 -t 192.168.8.121 192.168.8.1

ARP协议

此时已经成功进行了arp欺骗攻击,但此时没有配置数据包转发,因此靶机请求到的数据包到达kali的时候会丢弃,即出现断网现象。可以看到靶机虽然现在是联网状态,但是已经无法访问互联网。

ARP协议

这时,在kali上执行命令,来打开IP转发,开启IP转发后,目标已经可以访问互联网。
echo 1 > /proc/sys/net/ipv4/ip_forward

ARP协议

注:/proc/sys/net/ipv4/ip_forward是配置文件,默认值为0,代表此时IP转发是关闭的,使用上述命令将该配置文件的内容改为1,代表开启IP转发。开启IP转发后流量会经过kali的主机然后再到目标,所以这时开启arpspoof 那么目标就不会断网,因为流量先通过了kali主机,然后再转发到目标机器,那么我们就可以拦截数据。

ARP协议

在kali上面使用driftnet工具,使用命令driftnet -i eth0,就可以抓取靶机所访问的网站的图片了。

ARP协议


ARP协议

• 往期精选

ARP协议
ARP协议

windows提权总结

一次SSH爆破攻击haiduc工具的应急响应

记一次艰难的SQL注入(过安全狗)

记一次溯源

ARP协议

下方点击关注发现更多精彩!

原文始发于微信公众号(银河护卫队super):ARP协议

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月5日16:24:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ARP协议http://cn-sec.com/archives/974610.html

发表评论

匿名网友 填写信息