目录
什么是ARP?ARP的作用是什么?
- ARP即地址解析协议,属于网络层,作用是根据已知的IP地址解析获得其对应的MAC地址
ARP的工作原理?
- ARP 协议工作原理:
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。 - ARP的工作流程:
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。 当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC地址。
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。ARP 高速缓存(即 ARP 表)是 ARP 地址解析协议能够高效运行的关键
ARP欺骗?
ARP协议有俩种数据包:
- ARP请求包:ARP工作时,送出一个含有目的IP地址的以太网广播数据包,这也就是ARP请求包。它表示:我想与目的IP通信,请告诉我此IP的MAC地址。ARP请求包格式如下:
arp who-has 192.168.1.1 tell 192.168.1.2 - ARP应答包:当目标主机收到ARP请求包,发现请求解析的IP地址与本机IP地址相同,就会返回一个ARP应答包。它表示:我的主机就是此P,我的MAC地址是某某某。
ARP应答包的格式如下
arp reply 192.168.1.1 is-at 00:00:0c:07:ac:00
ARP欺骗的原因是:没有身份认证机制。
ARP欺骗、中间人攻击实验?
- 先搭建拓扑:
- 完成IP地址配置
(将client和server的IP地址配置成与kali同网段)并打开服务器ftp功能,测试客户端与服务器互联在kali上做ping测试,保证流量可达
在kali上做ping测试,保证流量可达
- 查看kali的IP地址
- 在kali上开启流量转发
命令:echo 1 > /proc/sys/net/ipv4/ip_forward
- 开启ARP欺骗
ARP如果开启双向欺骗,即中间人攻击
命令:arpspoof -i eth0 -t 192.168.70.11 192.168.70.12 攻击者欺骗client自己是server
命令:arpspoof -i eth0 -t 192.168.70.12 192.168.70.11 攻击者欺骗server自己是client
抓包查看
- client再次访问server
抓包查看