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 协议分析实验相关推荐

  1. 网络协议实验四 ARP 协议分析实验

    实验四 ARP 协议分析实验 2.2 ARP 协议分析实验 1.ARP 协议介绍 ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从I ...

  2. 实验二ARP协议分析

    "终究是玫瑰误了花期,而我也将你归还故里" 实验二ARP协议分析 1.arp命令(要用管理员启动命令行) 2.arp请求与应答 3.arp代理 4.免费arp 文中小鲨鱼是指Wir ...

  3. 实验七 ICMP 协议分析实验

    实验七 ICMP 协议分析实验 1.ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.I ...

  4. 实验十一 DNS 协议分析实验

    实验十一 DNS 协议分析实验 1.DNS 协议简介 DNS 是域名系统 (Domain Name System)的缩写,是一种分层次的.基于域的命名方案, 主要用来将主机名和电子邮件目标地址映射成I ...

  5. 实验四 ICMP 协议分析实验

    ICMP 协议介绍 ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议.ICMP允许路由器或主机报告差错情况和 ...

  6. 实验2 ARP协议分析

    一.实验目的 1.分析ARP 协议的报文格式 2.理解ARP 协议的解析过程 3.掌握ARP 相关命令 二.实验拓扑 三.实验工具 GNS3和Wireshark抓包分析软件 四.ARP协议的封装格式 ...

  7. 计算机网络-应用层和传输层协议分析实验(PacketTracer)

    实验三.应用层和传输层协议分析实验 一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验 ...

  8. 计算机网络实验三 ARP原理与ARP欺骗 实验报告

    实验三 ARP原理与ARP欺骗 目录 [实验名称] [实验目的] [实验要求] [实验环境] 5.参考脚本:构建如图所示虚拟实验网络,可参考如下脚本: [实验步骤] 步骤1:创建虚拟实验网络,验证网络 ...

  9. 实验十二 HTTP 协议分析实验

    实验十二 HTTP 协议分析实验 1.HTTP 协议简介 HTTP是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务. (1)HTTP的工作原理 H ...

最新文章

  1. ssh无法登录,提示Connection closing...Socket close.
  2. 皮一皮:感受下什么叫瑟瑟发抖的寒冬...
  3. 《Adobe Flash CS5中文版经典教程》——1.3 使用“库”面板
  4. Python教程:通过函数名调用函数的3种场景实现
  5. IDEA的UML图详细介绍(二)
  6. mysql的瓶颈_MySQL瓶颈分析与优化
  7. 93. Restore IP Addresses 复原IP地址
  8. PO/BO/VO/DTO/POJO/DAO/DO
  9. 一个交易平台源码,全源无接口
  10. Ethercat解析(九)之过程数据
  11. 小学在班里排第几名家长才比较放心?
  12. Linus Torvalds 命名 [ 冰封荒原 ] 版 Linux 内核的思考
  13. 快捷切换hosts的小工具:SwitchHosts!
  14. 从Oracle Database 角度来看浪潮天梭K1主机的操作系统选择
  15. Codeforces348B Apple Tree DFS
  16. Unity使用fungus插件实现对话系统
  17. 手持式频谱分析仪TFN RMT720A 频谱分析 基站分析 路测覆盖
  18. mysql deadlock found_MySQL遇到Deadlock found when trying to get lock,解决方案
  19. Python 绘制游戏窗口
  20. 商城会员积分过期的实现方案

热门文章

  1. C++报错:0x00528549 处有未经处理的异常(在 ....exe 中): 0xC00000FD: Stack overflow(参数: 0x00000001, 0x015D2FA4)
  2. 万卷书 - 快速写作 [Write Your Book in a Flash]
  3. ECMAScript,即ECMA-262定义的语言,并不局限于Web浏览器
  4. 机械硬盘无法访问由于IO设备错误,无法运行此项请求,里面的数据怎么找到
  5. html+css入门小项目巩固练习
  6. 【报告分享】2021年中国白领人群消费及职场社交研究报告-艾瑞(附下载)
  7. Python字符串替换replace、截取[]、查找find、计数count、分割split
  8. 关于djano本地mysql
  9. 微信实现音乐自动播放
  10. SpringBoot集成Mybatis Plus