郑州大学计算机网络实验11 ARP协议探索和分析

实验十一 ARP协议探索和分析

【实验目的】

1、掌握ARP协议数据格式;

2、理解ARP协议工作原理;

3、理解ARP缓存的更新规则;

3、熟悉Linux下arp命令的使用方法。

【实验步骤与结果记录】

要求:根据实验指导书中的实验内容和步骤,认真完成实验。采取截图、拍照等形式记录自己的实验步骤和结果。(可根据需要加页)

步骤1:创建虚拟网络拓扑。

1.在实验三的虚拟网络拓扑中增加一台主机ns56B,就可以得到本实验的网络拓扑,如下图所示。

2.利用脚本程序script3.1创建实验三的虚拟网络。

3.使用脚本程序script11.1为网络增加主机ns56B。

步骤2:为虚拟网络拓扑中的各路由器配置静态路由。

1.本实验和实验三采用相同的网络拓扑,路由配置也一样。

2.利用脚本程序script3.2可以配置各路由器的静态路由。

步骤3:关闭网卡offload功能,将运输层封装时需要的计算还给cpu。

1.本实验关闭offload的方法与实验三相同。

2.利用脚本程序script3.3可以关闭网卡offload功能。

3.执行如下命令,关闭新增加的主机ns56B中网卡的offload功能。

复制代码
ip netns exec ns56B ethtool -K tap56B gso off

ip netns exec ns56B ethtool -K tap56B tx off rx off

步骤4:确保各主机和路由器的ARP缓存表为空。

1.执行如下Linux命令,查看所有主机和路由器的ARP缓存表。

复制代码
ip -all netns exec arp -n

2.如果发现某个ARP缓存表不空则在相应的NS内执行命令

复制代码
arp -d <host>

逐条删除arp缓存,或执行

复制代码
ip neighbour flush dev <DEV>

清空指定接口的ARP缓存表。

步骤5:在主机ns56A,主机ns56B,路由器RB,RA,RC上启动wireshark,在接口tap56A,tap56B,tapRB_RA,tapRA_RC和tapRC_57A上启动抓包。

1.依次执行如下命令,在主机ns56A,主机ns56B,路由器RB,RA,RC上后台启动wireshark。

复制代码
ip netns exec ns56A wireshark &

ip netns exec ns56B wireshark &

ip netns exec RB wireshark &

ip netns exec RA wireshark &

ip netns exec RC wireshark &

2.在各Wireshark窗口中选择接口tap56A,tap56B,tapRB_RA,tapRA_RC和tapRC_57A,依次启动抓包。

步骤6:利用ping命令从主机ns56A向主机ns57A发送IP数据报。

1.执行如下命令,从主机ns56A上ping主机ns57A。

复制代码
ip netns exec ns56A ping -c 1 192.168.57.126

步骤7:在5个Wireshark窗口中停止抓包,保存抓包结果文件并分析截获的ARP请求和响应报文。分析ARP协议报文格式,理解ARP协议工作原理。

步骤8:查看主机ns56A,主机ns56B和路由器RB上的ARP缓存表,理解ARP缓存的更新策略。

1.依次执行如下Linux命令,分别查看主机ns56A,ns56B和路由器RB的ARP缓存表

复制代码
ip netns exec ns56A arp -n

ip netns exec ns56B arp -n

ip netns exec RB arp -n

2.分析并理解ARP缓存更新策略

【问题与分析】

1、在步骤7中,分析在tap56A接口截获的一对ARP请求和响应,截图并填写表11.1。

|---------|---------|-------------------|
| 表11.1 ARP协议格式分析 |||
| | 字段 | 值 |
| ARP请求报文 | 操作码 | 1 |
| ARP请求报文 | 发送方硬件地址 | ba:26:c7:c3:8a:31 |
| ARP请求报文 | 发送方协议地址 | 192.168.56.126 |
| ARP请求报文 | 目的硬件地址 | 00:00:00:00:00:00 |
| ARP请求报文 | 目的协议地址 | 192.168.56.1 |
| ARP响应报文 | 操作码 | 2 |
| ARP响应报文 | 发送方硬件地址 | 9a:ee:b6:8a:a6:76 |
| ARP响应报文 | 发送方协议地址 | 192.168.56.1 |
| ARP响应报文 | 目的硬件地址 | ba:26:c7:c3:8a:31 |
| ARP响应报文 | 目的协议地址 | 192.168.56.126 |

2、分析步骤7中截获的ARP请求,分析各ARP请求查询哪个IP地址的MAC地址,截图并填写表11.2。解释ARP这么做的原因。

|--------|-------------------|
| 表11.1 ARP工作过程分析 ||
| 主机或路由器 | ARP查询哪个IP地址的MAC地址 |
| ns56A | 192.168.56.1 |
| RB | 192.168.56.246 |
| RA | 192.168.56.250 |
| RC | 192.168.57.126 |

3、分析步骤8中各接口的ARP缓存表,解释主机和路由器为什么将这些记录写入ARP缓存表。截图说明你的分析过程。

56A将下一跳RB的地址记录在缓存表内。

56B未记录。

RB将上一跳与下一跳的地址记录在缓存表内。

相关推荐
上海云盾商务经理杨杨1 小时前
2026游戏盾深度解析:从被动防御到智能作战,构建DDoS免疫堡垒
网络·游戏·ddos
强子感冒了1 小时前
Java网络编程学习笔记,从网络编程三要素到TCP/UDP协议
java·网络·学习
上海云盾商务经理杨杨3 小时前
付费网站的攻防战:2026年,如何破解并抵御爬虫攻击
网络·安全
emma羊羊3 小时前
【wordpress-wpdiscuz-rce】
网络·web安全·wordpress
青果全球http3 小时前
静态IP是什么意思?和动态IP有什么区别
网络·网络协议·tcp/ip
chinesegf3 小时前
ubuntu中虚拟环境的简单创建和管理
linux·运维·ubuntu
java_logo3 小时前
2025 年 11 月最新 Docker 镜像源加速列表与使用指南
linux·运维·docker·容器·运维开发·kylin
Anthony_2313 小时前
一、网络通信的本质与OSI模型
网络·网络协议·tcp/ip·http·https·udp·ssl
一碗面4213 小时前
Linux下的网络模型
linux·网络模型
河码匠3 小时前
VXLAN 简介、实现虚拟机跨物理机通信和网络隔离
网络·vxlan