ARP协议报文分析

目录

1. ARP 协议

2. 工作原理

3. ARP 协议报文格式

4. ARP 缓存的查看和修改

5. tcpdump抓包ARP协议报文分析

5.1 搭建 2 台虚拟机

5.2 在主机 192.168.0.155 打开一个shell命令行开启抓包监听

5.3 在主机 192.168.0.155 打开另一个shell命令行 telnet 192.168.0.154

5.4 在主机 192.168.0.155 抓包监听的窗口抓到头两帧数据即是 ARP 请求 和 ARP 应答包如下

5.4.1 tcpdump对ARP请求解析的解读

(1)站在数据链路层对以太网帧进行数据分析

(2)站在网络层对ARP请求包进行数据分析

(3)分析ARP请求以太网数据帧

5.4.2 tcpdump对ARP应答解析的解读

(1)站在数据链路层对以太网帧进行数据分析

(2)站在网络层对ARP请求包进行数据分析

(3)分析ARP应答以太网数据帧


1. ARP 协议

        ARP(Address Resolution Protocol,地址解析协议)协议属于网络层协议,它实现了将目的主机的 IP 地址转换为 MAC 地址(物理地址)。

2. 工作原理

        主机向自己所在的网络(比如家用路由器)广播一个 ARP 请求(request),该请求包含目的主机的IP地址,此网络上的其它主机都将收到这个请求,但只有被请求的目的主机会回应一个 arp 应答(reply)。

3. ARP 协议报文格式

字段 字节数 说明
硬件类型 2 表示物理地址的类型,对于以太网 MAC 地址,值为:0x0001
协议类型 2 发送方要映射的协议地址类型,对于 IP 地址,值为:0x0800
硬件地址长度 1 以太网 MAC 地址,占用 6 个字节,所以值为:0x06
协议地址长度 1 IPv4,占用 4 字节,所以值为:0x04
操作 2 4种操作类型:ARP 请求,值为:0x0001;ARP 应答,值为:0x0002;RARP 请求,值为:0x0003;RARP 应答,值为:0x0004
源MAC地址 6 发送方的 MAC 地址
源IP地址 4 发送方的 IP 地址
目的MAC地址 6 接收方的 MAC 地址,对于 ARP 请求,不知道接收方的 MAC 地址,该值用 0 填充,即 0x0000 0000 0000
目的IP地址 4 接收方的 IP 地址

        上面表格的说明不能完全搞懂也不要紧,往下看,会有抓取 ARP 请求和 ARP 应答的帧数据,我们根据帧数据分析来理解,对于 ARP 请求协议的理解就容易多了。

4. ARP 缓存的查看和修改

        在抓取 ARP 请求、应答包进行数据分析前,还有要讲明白 ARP 缓存。因为假如 ARP 请求的目的 IP 地址的 MAC 地址在本主机已经有缓存的话,就可能不会向自己所在的网络广播一个 ARP 请求(request),从而抓取不到 ARP 请求、应答包。

        ARP 维护了一个缓存,包含了经常访问或最近访问的主机 IP 地址到 MAC 地址的映射,这样做的好处是避免了重复的 ARP 请求,从而提高发送数据包的速度。

        linux 操作系统下可以使用 arp 命令来查看和修改 arp 缓存。

例如:

arp -a        // 查看 arp 缓存信息

从上图可知:

网关 192.168.0.1 映射的 MAC 地址:3c:6a:48:e2:d5:67

主机 192.168.0.154 映射的 MAC 地址:00:0c:29:ba:f0:0d

主机 192.168.0.101 映射的 MAC 地址:b0:a4:60:28:96:f5

ens33 是网卡名

arp -d 192.168.0.154        // 删除目的主机 192.168.0.154 的缓存信息

5. tcpdump抓包ARP协议报文分析

        tcpdump 是一个运行在命令行下的网络抓包工具,给使用者提供了大量的选项,用以过滤数据包或定制格式输出。

5.1 搭建 2 台虚拟机

 环境搭建链接:搭建多台能够互相 telnet 的 centos 虚拟机-CSDN博客

主机 192.168.0.154 的 MAC 地址为:00:0c:29:ba:f0:0d,网卡名为:ens33

主机 192.168.0.155 的 MAC 地址为:00:0c:29:83:72:68,网卡名为:ens33

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值