实验三 ARP 协议分析实验
1、ARP 协议分析实验
1.ARP 协议介绍
ARP 是地址解析协议(Reverse Address Resolution Protocol)的缩写,负责实现从IP 地址到物理地址(如以太网MAC 地址)的映射。在实际通信中,物理网络使用硬件地址进行报文传输。IP报文在封装为数据链路层帧进行传送时,就有必要把 IP地址转换为对应的硬件地址,ARP正是动态地完成这一功能的。
(1)ARP 报文格式
图1 ARP 报文格式
ARP 协议报文是定长的,其格式如图1 所示,报文中每一字段的含义如下:
* 硬件类型:表示物理网络的类型,“0X0001”表示以太网;
* 协议类型:表示网络网络协议类型,“0X0800”表示IP 协议;
* 硬件地址长度:指定源/ 目的站物理地址的长度,单位为字节;
* 协议地址长度:指定源/ 目的站IP 地址的长度,单位为字节;
* 操作:指定该报文的类型,“1”为ARP 请求报文,“2”为ARP 响应报文;
* 源端硬件/IP 地址:由ARP 请求者填充;
* 目的站物理地址:在请求报文中为0,在响应报文中,由由发送响应报文的主机填写接收该报文的目的主机的物理地址;
* 目的站IP 地址:由ARP 请求者填充,指源端想要知道的主机的IP 地址。只有IP 地址等于该IP 地址的主机才向源主机发送相应报文。
(2)ARP 的工作方式
在以太网中,每台使用ARP 协议实现地址解析的主机都在自己的高速缓存中维护着一个 地址映射表,这个ARP表中存放着最近和它通信的同网络中的计算机的 IP 地址和对应的MAC 地址。
注意:不同网络中的IP地址将对应网关。
当两台计算机通信时,源主机首先查看自己的ARP表中是否有目的主机的 IP 地址项,若有则使用对应的MAC 地址直接向目的主机发送信息;否则就向网络中广播一个ARP请求报文,当网络中的主机收到该ARP请求报文时,首先查看报文中的目的IP 地址是否与自己的IP 地址相符,若相符则将请求报文中的源IP 地址和MAC 地址写入自己的ARP表中;然后,创建一个ARP响应报文,将自己的MAC 地址填入该响应报文中,发送给原主机。
注意:ARP响应报文不再广播,而是直接发送给请求者。
源主机收到响应报文后,取出目的IP 地址和 MAC 地址加入到自己的 ARP 表中,并利用获得的目的MAC 地址向目的端主机发送信息。
在实际中,为了节省内存空间和ARP 表的查询时间,若某一个ARP 地址项很久没有使用,则会从地址映射表中删除。
2.Arp 命令简介
本次实验使用的Windows自带的Arp命令提供了显示和修改地址解析协议所使用的地址映射表的功能。
Arp 命令的格式要求如下:
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
其中:
* -s:在ARP 缓存中添加表项:将 IP地址 inet_addr 和物理地址ether_addr关联,物理地址由以连字符分隔的6个十六进制数给定,使用点分十进制标记指定IP地址,添加项是永久性的;
* -d:删除由inet_addr指定的表项;
* -a:显示当前ARP表,如果指定了inet_addr则只显示指定计算机的IP和物理地址;
* inet_addr:以点分十进制标记指定IP地址;
* -N:显示由if_addr指定的ARP表项;
* if_addr:指定需要选择或修改其地址映射表接口的IP地址;
* ether_addr:指定物理地址;
3.实验环境与说明
(1)实验目的
分析ARP 协议的报文格式,理解ARP 协议的解析过程。
(2)实验设备和连接
实验设备和连接图如图2所示,一台S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。
图2 ARP 协议分析实验连接图
4.实验步骤
步骤1:按照如图2所示连接好设备,配置PC1和PC2的IP地址;
步骤2:在: PC1、PC2两台计算机上执行如下命令,清除ARP缓存: ARP –d
步骤3:在PC1、PC2两台计算机上执行如下命令,查看高速缓存中的ARP地址映射表的内容: ARP –a
步骤 4:在PC1和PC2上运行 Wireshark 截获报文
步骤5:在主机PC1上执行Ping命令向PC2发送数据报;
步骤6:执行完毕,保存截获的报文并命名为arp-1;
步骤7:在PC1、PC2两台计算机上再次执行ARP–a命令,查看高速缓存中的ARP 地址映射表的内容:
1)这次看到的内容和步骤3 的内容相同吗?结合两次看到的结果,理解ARP 高速缓存的作用。
不同,ARP高速缓存里边保存了之前进行ARP会话时返回的ARP应答中的IP地址和MAC地址对应列表。一般一条记录保存20分钟左右。目的是:下次再要访问ARP高速缓存中的IP地址的主机时,不需要再次发送ARP请求去获取MAC地址。直接从高速缓存中读取就可以了。可以有效缓解链路的压力。
2)把这次看到到的高速缓存中的ARP 地址映射表写出来。
步骤8:重复步骤:4—5,将此结果保存为arp-2;
步骤9:打开arp-1,完成以下各题:
1)在截获的报文中由几个ARP报文?在以太帧中,ARP协议类型的代码值是什么?
有两类ARP报文,ARP协议类型的代码值是0x0800
2)打开arp-2,比较两次截获的报文有何区别?分析其原因。
不需要在进行广播ARP了,因为第一次连接时已经广播过了,已经有了记录。
3)分析arp-1中ARP报文的结构,完成表1。
表1 ARP 报文分析
ARP 请求报文 |
ARP 应答报文 |
||
字段 |
报文信息及参数 |
字段 |
报文信息及参数 |
硬件类型 |
0x0001 |
硬件类型 |
0x0001 |
协议类型 |
0x0800 |
协议类型 |
0x0800 |
硬件地址长度 |
6 |
硬件地址长度 |
6 |
协议地址长度 |
4 |
协议地址长度 |
4 |
操作 |
Request(0x0001) |
操作 |
Reply(0x0002) |
源站物理地址 |
48:0f:cf:37:a7:90 |
源站物理地址 |
48:0f:cf:37:a2:6d |
源站IP 地址 |
172.27.63.32 |
源站IP 地址 |
172.27.63.33 |
目的站物理地址 |
00:00:00_00:00:00 |
目的站物理地址 |
48:0f:cf:37:a2:6d |
目的站IP 地址 |
172.27.63.33 |
目的站IP 地址 |
172.27.63.60 |
实验三 ARP 协议分析实验相关推荐
- 网络协议实验四 ARP 协议分析实验
实验四 ARP 协议分析实验 2.2 ARP 协议分析实验 1.ARP 协议介绍 ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从I ...
- 实验二ARP协议分析
"终究是玫瑰误了花期,而我也将你归还故里" 实验二ARP协议分析 1.arp命令(要用管理员启动命令行) 2.arp请求与应答 3.arp代理 4.免费arp 文中小鲨鱼是指Wir ...
- 实验七 ICMP 协议分析实验
实验七 ICMP 协议分析实验 1.ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.I ...
- 实验十一 DNS 协议分析实验
实验十一 DNS 协议分析实验 1.DNS 协议简介 DNS 是域名系统 (Domain Name System)的缩写,是一种分层次的.基于域的命名方案, 主要用来将主机名和电子邮件目标地址映射成I ...
- 实验四 ICMP 协议分析实验
ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.ICMP允许路由器或主机报告差错情况和 ...
- 实验2 ARP协议分析
一.实验目的 1.分析ARP 协议的报文格式 2.理解ARP 协议的解析过程 3.掌握ARP 相关命令 二.实验拓扑 三.实验工具 GNS3和Wireshark抓包分析软件 四.ARP协议的封装格式 ...
- 计算机网络-应用层和传输层协议分析实验(PacketTracer)
实验三.应用层和传输层协议分析实验 一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验 ...
- 计算机网络实验三 ARP原理与ARP欺骗 实验报告
实验三 ARP原理与ARP欺骗 目录 [实验名称] [实验目的] [实验要求] [实验环境] 5.参考脚本:构建如图所示虚拟实验网络,可参考如下脚本: [实验步骤] 步骤1:创建虚拟实验网络,验证网络 ...
- 实验十二 HTTP 协议分析实验
实验十二 HTTP 协议分析实验 1.HTTP 协议简介 HTTP是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务. (1)HTTP的工作原理 H ...
最新文章
- ssh无法登录,提示Connection closing...Socket close.
- 皮一皮:感受下什么叫瑟瑟发抖的寒冬...
- 《Adobe Flash CS5中文版经典教程》——1.3 使用“库”面板
- Python教程:通过函数名调用函数的3种场景实现
- IDEA的UML图详细介绍(二)
- mysql的瓶颈_MySQL瓶颈分析与优化
- 93. Restore IP Addresses 复原IP地址
- PO/BO/VO/DTO/POJO/DAO/DO
- 一个交易平台源码,全源无接口
- Ethercat解析(九)之过程数据
- 小学在班里排第几名家长才比较放心?
- Linus Torvalds 命名 [ 冰封荒原 ] 版 Linux 内核的思考
- 快捷切换hosts的小工具:SwitchHosts!
- 从Oracle Database 角度来看浪潮天梭K1主机的操作系统选择
- Codeforces348B Apple Tree DFS
- Unity使用fungus插件实现对话系统
- 手持式频谱分析仪TFN RMT720A 频谱分析 基站分析 路测覆盖
- mysql deadlock found_MySQL遇到Deadlock found when trying to get lock,解决方案
- Python 绘制游戏窗口
- 商城会员积分过期的实现方案
热门文章
- C++报错:0x00528549 处有未经处理的异常(在 ....exe 中): 0xC00000FD: Stack overflow(参数: 0x00000001, 0x015D2FA4)
- 万卷书 - 快速写作 [Write Your Book in a Flash]
- ECMAScript,即ECMA-262定义的语言,并不局限于Web浏览器
- 机械硬盘无法访问由于IO设备错误,无法运行此项请求,里面的数据怎么找到
- html+css入门小项目巩固练习
- 【报告分享】2021年中国白领人群消费及职场社交研究报告-艾瑞(附下载)
- Python字符串替换replace、截取[]、查找find、计数count、分割split
- 关于djano本地mysql
- 微信实现音乐自动播放
- SpringBoot集成Mybatis Plus