什么是ARP协议
ARP(Address Resolution Protocol)地址解析协议,根据IP地址获取物理地址的一个TCP/IP协议,对IP地址和MAC地址进行绑定。
ARP协议工作原理
ARP协议规定每台计算机都要有一个ARP表,用来保存IP地址和MAC地址的映射关系。访问IP地址时就去查ARP表,从而找到对应的MAC地址。
当ARP表查不到时,就使用广播
发送一个ARP请求,目标主机收到请求后使用单播返回一个ARP响应,告知自己的MAC地址。
请求的主机拿到目标IP的MAC地址后,将映射关系缓存到ARP表,再传递到数据链路层进行解析转换。
ARP协议的作用
网络中的数据传输所依赖的是MAC地址,ARP协议负责将IP地址转换为MAC地址。ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
ARP常用命令
- 查询arp表
arp -a - 删除表内某个IP的绑定信息
arp -d IP - TCP抓取eth0网卡的所有arp请求
tcpdump -i eth0 -nn arp - TCP抓取eth0网卡指定IP的arp请求
tcpdump -i eth0 -nn arp and host IP
ARP工作过程
在centos7(192.168.23.169)上抓包了解arp的工作过程:
- 查看arp表中是否有要访问的IP的MAC地址
- 在centos7上开启抓包
tcpdump -i ens33 -nn arp and host 192.168.23.135 - ping目标IP
ping 192.168.23.135 - 查看抓包结果
- 再次查看arp表,发现135的MAC地址存入表中