ARP协议
-
将一个已知的IP地址解析为MAC地址,从而进行二层数据交互
-
是一个三层协议,但是工作在二层,是一个2.5层协议
-
TYPE类型:0X0806
二、工作流程
1、两个阶段
-
ARP请求:源目IP地址,源:本地MAC地址,目:广播MAC地址
-
ARP响应 :源目IP地址,源:本地MAC地址,目:目的MAC地址
2、ARP的协议报文格式
-
-
硬件地址类型:该字段表示物理网络类型,即标识硬件地址类型:该字段表示物理网络类型,即标识数据链路层使用的是那一种协议,其中0x0001为以太网。
-
协议地址类型:该字段表示网络地址类型,即标识网络层使用的是那一种协议,其中0x0800表示为ip。
-
硬件地址长度:表示源和目的物理地址的长度,单位是字节。
-
协议地址长度:表示源和目的的协议地址的长度,单位是字节。
-
操作:记录该报文的类型,其中1表示ARP请求报文,2表示ARP响应报文。
-
目的站物理地址在请求报文中为空,目的ip为需要进行转换的ip。在回应报文中,目的地址为,arp请求者的地址。目的ip为请求者的ip。
-
3、ARP的缓存
-
主要为了避免多次请求arp
-
在Windows中可以用arp命令
-
arp -a 查看arp缓存
-
arp -d 释放arp缓存
-
三、ARP攻击及ARP欺骗
1、ARP攻击
-
伪造arp报文,向被攻击响应虚假的MAC地址
-
当被攻击的主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击的主机无法访问。
2、ARP欺骗
-
欺骗网关
-
伪造ARP应答报文,向被攻击主机和网关响应真实的MAC地址
-
当被攻击主机进行通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这时被攻击的主机是可以进行通信的。
-
-
欺骗主机
-
伪造ARP应答报文,向被攻击和通信的主机响应真实的MAC地址。
-
当被攻击主机向通信主机发送数据时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这时被攻击主机是可以进行网络通信的。
-
实施APR欺骗和攻击
一、环境
1、kali Linux
-
安装一个工具arpspoof
2、win10
-
被攻击主机
二、kali的配置
kali Linux是给予deblan的Linux系统,采用deb的包管理方式,可以使用apt源的方式进行直接安装。
三、攻击过程
-
欺骗主机,使被攻击主机无法上网
-
arpspoof -i (与攻击地址同段的网卡) -t (被攻击的地址) (网关地址)
-
arpspoof -i eth0 -t 192.168.182.133 192.168.182.1
-
此时被攻击的设备的网关ip地址与攻击主机网卡绑定,被攻击主机的所有对网关请求报文会发送给攻击主机网卡,此时无法上网。
-
-
通过攻击主机进行流量转发,实现流量嗅探
-
在以上命令的基础上上添加
-
echo 1 >> proc/sys/net/ipv4/ip_forward
-
-
该命令将开启流量转发,将被攻击的流量全部引入攻击主机,实现流量嗅探。
-