ARP

[TOC]

引言

  1. 定义: ARP 又称 地址解析协议,是一个通过解析网络层 IP地址来寻找数据链路层 MAC地址的网络传输协议 网络层地址是指 IP 地址, 数据链路层地址是指:MAC

  2. 简单来说,当你在连上网的那一刻你的 MAC 地址和你的 IP(切记不是什么 192.168.18.1) 地址已经是一一对应的了

基本功能

在 TCP/IP 协议中,传输层只关心目标主机的 IP 地址+端口地址(IP 地址决定传输的设备,端口决定是目标上的那个应用程序), 网络层只关心 目标主机的 IP 地址, 以太网利用 MAC 地址来寻址到目标机器的网卡(只有当自己的 MAC 地址与帧中的 MAC 地址相同时,网卡才会接收), 因此,同一局域网中的主机要和另一个主机通信时,必须需要知道目标设备的 MAC 地址。

在我们的主机上就有一张 ARP 表,其中标明了 IP 地址和 MAC 地址的对应关系,在发送以太网帧时,如果发送的目标 IP 在 ARP表 中找到就使用 ARP 表中对应的 MAC 地址,如果没有找到就需要使用 ARP 数据报进行查找,获取 目标MAC 地址后再进行发送。

消息

  • ARP 请求:作为广播以以太网帧发送

  • ARP 响应:单播

命令

arp 
	- [/a [<inetaddr>] [/n <ifaceaddr>]]  # /a 显示当前所有 ARP 缓存表, /n 表示指定接口
	- [/g [<inetaddr>] [-n <ifaceaddr>]]  # 与上相同
	- [/d <inetaddr> [<ifaceaddr>]] 	  # /d 删除特定 IP 地址条目 ifaceaddr 指定特定接口
	- [/s <inetaddr> <etheraddr> [<ifaceaddr>]] # 添加静态项
	- /?   # 帮助
C:\Windows\System32>arp -a

接口: 192.168.0.107 --- 0x5
  Internet 地址         物理地址              类型
  192.168.0.1           b8-f8-83-0f-c0-38     动态
  192.168.0.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  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     静态

接口: 192.168.237.1 --- 0x8
  Internet 地址         物理地址              类型
  192.168.237.254       00-50-56-e8-9d-bf     动态
  192.168.237.255       ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  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     静态

Wireshark 分析 ARP 数据包

  • ARP 请求包 image-20230208233501290

  • ARP 回复包

    image-20230208233648222

参考

最后更新于

这有帮助吗?