实验三 Internet控制报文协议(ICMP) 分析
1、实验内容或题目
运行Ping命令,查看回显请求报文和回显应答报文;
编辑和发送ICMP时间戳请求和应答报文;
ICMP差错报文的查看、编辑和发送。
该实验采用网络结构二。
2、实验目的与要求
(1)掌握ICMP协议的报文格式,
(2)理解不同类型ICMP报文的具体意义,
(3)了解常见的网络故障。
3、实验步骤
练习1 运行Ping命令,查看回显请求报文和回显应答报文
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A、B、C、D、E、F作为一组进行实验。
实验开始前主机B首先执行命令“staticroute_config”启动静态路由。
1)主机B、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2)主机A ping主机E(172.16.0.2)。
主机C ping 主机F(172.16.0.3)。
3)主机B、E、F停止捕获数据,察看捕获到的数据,并回答后面思考题。
练习2 编辑和发送ICMP查询报文和应答报文
本练习将主机A、B、C、D、E、F作为一组进行实验。
1)主机A启动协议编辑器,编辑一个ICMP时间戳请求数据帧发送给主机C(172.16.1. 3)。
MAC层:
(2)主机E、F分别启动协议编辑器,编写一个发送给主机D(172.16.1.4)的ICMP数据帧。
其中:
MAC层:
目的MAC地址:主机B的MAC地址(172.16.0.1接口的MAC)。
源MAC地址:本机的MAC地址。
协议类型或数据长度:0800。
IP层:
总长度:包含IP层和ICMP层长度。
TTL:0。
高层协议类型:1。
校验和:在其它字段填充完毕后,计算并填充。
源IP地址:本机的IP地址。
目的IP地址:D的IP地址。
ICMP层:
类型:11。
代码字段:0。
校验和:在ICMP其它字段填充完毕后,计算并填充。
其它字段使用默认值。
(3)主机B启动协议分析器,网卡b1(172.16.1.1)、网卡b2(172.16.0.1)分别捕获数据,并设置过滤条件(提取ICMP协议)。
(4)主机A、C、D、E、F各自发送已编辑好的数据帧。
(5)主机B停止捕获数据,察看并分析捕获到的数据。
(6)主机B在命令行方式下输入recover_config命令,停止静态路由服务。
4、测试数据与实验结果(可以抓图粘贴)
(1)练习1中,运行Ping命令,查看回显请求报文和回显应答报文各步骤实验结果。
(2)练习2中,编辑和发送ICMP查询报文和应答报文各步骤实验结果。
(3)练习3中,查看和编辑ICMP差错报文各步骤实验结果。
(1)
(2)。
icmp实验报告
icmp实验报告ICMP实验报告引言:ICMP(Internet Control Message Protocol)是一种网络层协议,用于在IP网络中传递控制消息和错误报告。
在本次实验中,我们将探索ICMP协议的工作原理和应用。
一、ICMP的基本原理ICMP是在IP协议的基础上建立的,它通过封装在IP数据报中进行传输。
ICMP 消息通常由网络设备(如路由器)或主机(如计算机)生成,并通过IP网络发送给目标设备。
ICMP消息可以用于多种目的,包括网络故障排除、错误报告和网络管理。
二、ICMP的消息类型ICMP定义了多种消息类型,每种类型都有不同的目的和用途。
以下是一些常见的ICMP消息类型:1. Echo Request和Echo ReplyEcho Request和Echo Reply消息用于网络设备之间的连通性测试。
当一台设备发送Echo Request消息时,目标设备会收到该消息并发送Echo Reply消息作为响应。
这种机制常用于Ping命令,用于测试网络设备的可达性和延迟。
2. Destination UnreachableDestination Unreachable消息用于指示数据包无法到达目标设备的原因。
例如,当目标设备的端口关闭或网络不可达时,发送方会收到Destination Unreachable消息。
这种消息对于故障排除和网络管理非常重要。
3. Time ExceededTime Exceeded消息用于指示数据包在传输过程中超过了最大生存时间(TTL)。
每个IP数据包都包含一个TTL字段,当数据包通过一个路由器时,TTL值会减少。
如果TTL值减少到零,路由器会发送Time Exceeded消息给发送方。
这种机制对于检测网络中的环路和延迟很有用。
三、ICMP的应用ICMP在网络中有多种应用,以下是一些常见的应用场景:1. 网络故障排除ICMP的错误报告和目的不可达消息对于故障排除非常有帮助。
icmp实验总结
ICMP实验总结1. 引言互联网控制消息协议(Internet Control Message Protocol,简称ICMP)是TCP/IP协议族中的一个网络层协议,它用于在IP网络中传递控制消息和错误报告。
ICMP协议通过发送控制消息和错误报告,帮助网络管理员诊断网络问题,并提供一些基本的错误处理机制。
本次实验旨在深入了解ICMP协议的工作原理、常见的消息类型以及如何利用ICMP进行网络诊断和攻击。
2. 实验环境本次实验使用以下工具和环境: - 操作系统:Linux(Ubuntu) - 网络模拟器:GNS3 - 抓包工具:Wireshark3. 实验步骤与结果3.1 ICMP协议工作原理首先,我们需要了解ICMP协议的工作原理。
ICMP使用IP数据报来传输控制消息,它被封装在IP数据报的数据字段中。
ICMP数据报由一个8字节的头部和一个变长的数据部分组成。
3.2 ICMP消息类型ICMP定义了多种不同类型的消息,每种消息都有不同的目的和功能。
常见的ICMP消息类型包括: - 回显请求(Echo Request)和回显应答(Echo Reply):用于测试主机之间的连通性,类似于ping命令。
- 目的不可达(Destination Unreachable):用于指示数据包无法到达目的地的原因。
- 超时(Time Exceeded):用于指示数据包在传输过程中发生超时。
- 重定向(Redirect):用于告知主机发送数据包时优化路由选择。
3.3 ICMP网络诊断ICMP协议可以用于网络诊断,帮助管理员检测和解决网络问题。
常见的ICMP网络诊断工具包括ping、traceroute和ping-of-death等。
3.3.1 ping命令ping命令使用ICMP回显请求和回显应答消息来测试两台主机之间的连通性。
通过发送一个回显请求消息到目标主机,然后等待目标主机返回一个回显应答消息来判断是否能够正常通信。
ICMP协议全方位解析
ICMP协议全方位解析ICMP(Internet Control Message Protocol)是互联网控制报文协议,用于在IP网络中传递控制消息和错误报告。
它是网络层协议IP (Internet Protocol)的一个补充,提供了一种通信方式,可以更有效地进行网络管理和故障排除。
在本文中,我将从协议的定义、特点、功能和应用领域等多个方面对ICMP进行全方位解析。
1.ICMP协议的定义和功能:ICMP是一种在IP网络中传递控制消息和错误报告的协议。
它的主要功能包括以下几个方面:-提供主机或路由器之间的通信。
当一个主机发送ICMP消息到另一个主机或路由器时,它可以请求其中一种服务或传递其中一种信息。
-提供错误报告。
在数据包传输过程中,如果出现错误,ICMP可以生成相应的错误报告,以提醒网络管理员或应用程序的开发者发生了错误。
-提供网络管理功能。
ICMP可以用于测试网络的可用性、延迟和带宽等参数,并向网络管理员或上层应用程序提供相关的统计信息。
-提供故障排除功能。
当网络出现故障时,ICMP可以通过发送请求和接收响应的方式来定位和解决问题。
2.ICMP协议的特点:-ICMP是一种无连接的协议,不需要在传输数据之前建立连接。
这使得ICMP非常适合用于低延迟和高效率的通信。
-ICMP是一种面向报文的协议,它将控制消息或错误报告封装在IP 数据包中进行传输。
-ICMP是一种可靠的协议,它可以检测到数据包的丢失、延迟和重复等问题,并向发送方提供相应的错误报告。
-ICMP具有较小的头部开销和较低的带宽占用率,这使得它在网络管理和故障排除方面非常有用。
3.ICMP协议的消息类型:ICMP定义了多种消息类型,主要包括以下几种:- 回应消息(Echo Reply):用于回应一个回显请求消息。
- 回显请求消息(Echo Request):用于测试目标主机的可用性和延迟。
- 目的地不可达消息(Destination Unreachable):用于通知发送方数据包无法到达目的地。
实验三 地址解析协议ARP与Internet控制报文协议ICMP
实验二地址解析协议 ARP练习一:领略真实的ARP(同一子网)步骤1:ARP高速缓存表由哪几项组成?主要由:IP地址、MAC地址、类型组成,步骤5:结合协议分析器上采集到的ARP报文和ARP高速缓存表中新增加的条目,简述ARP协议的报文交互过程以及ARP高速缓存表的更新过程假设网络中的计算机A要和计算机B交换数据,首先计算机A要得到计算机B的IP 地址和MAC地址的映射关系,工作过程如下:①计算机A检查自己的高速缓存中的ARP表,判断ARP表中是否存有计算机B的IP地址与MAC地址的映射关系。
如果找到,则完成ARP地址解析;如果没有找到,则转至②。
②计算机A广播含有自身IP地址与MAC地址映射关系的请求信息包,请求解析计算机B的IP的地址与MAC地址映射关系。
③包括计算机B在内的所有计算机接收到计算机A的请求信息,然后将计算机A的IP地址与MAC地址的映射关系存入各自的ARP表中。
④计算机B发送ARP响应信息,通知自己的IP地址与MAC地址的对应关系。
⑤计算机A收到计算机B的响应信息,并将计算机B的IP地址与MAC地址的映射关系存入自己的ARP表中,从而完成计算机B的ARP地址解析。
练习三:跨路由地址解析(不同子网)步骤4:主机A、B、C、D、E、F停止数据捕获,察看协议分析器中采集到的ARP报文,并回答以下问题:单一ARP请求报文是否能够跨越子网进行地址解析?为什么?不能,由于ARP请求是以广播的方式进行,而广播报文不能跨越子网,因此,单一ARP请求报文不能够跨越子网进行地址解析。
ARP地址解析在跨越子网的通信中所起到的作用?作用是解析网关的MAC地址,ARP本身无法跨跃不同网段。
当数据要发往外部网络时,通常是首先使用ARP请求网关路由器的MAC地址,之后将数据发往网关路由器,由网关路由器进行转发。
【思考问题】1、ARP分组的长度是固定的吗?试加以解释。
ARP分组长度在不同网络上可能会改变。
ARP分组中含有HTYPE(硬件类型)字段,用来定义运行ARP的网络类型(例如以太网是类型1),ARP可以应用在任何网络上。
网际控制报文协议实验
改变路由
主机不参与路由器的路由选择更新过程,因此可能会把IP数据 报发送给一个错误的路由器,而其实这个数据报本来是应发送 给另一个网络的。在这种情况下,收到这个数据报的路由器会 把数据报转发给正确的路由器,并向主机发送改变路由报文, 提示主机更新路由表。
代码字段值0~3分别代表改变网络路由、改变主机路由、改变
14
地址掩码请求和回答
当主机不知道地址的掩码时,主机应向局域网上的路由器 发送地址掩码请求报文。路由器收到地址掩码请求报文, 就发回地址掩码回答报文,向主机提供所需的掩码。
接收端发出回答报文时填写接收地址掩码。
15
路由询问和通告
为了发现网络上的路由器,主机可广播(或多播)路由器 询问报文。收到询问报文的一个或几个路由器就使用路由 器通告报文广播自己的地址。
22
从主机B发送一个复杂PDU给主机E(PING应用, 目的IP地址为172.16.0.2,TTL=1,单次发包时间 One Shot Time=0)。观察主机B是否收到ICMP 报文?捕获这个报文,分析这个报文的类型 (TYPE)、代码(CODE)字段的值和各自代表 的含义,并分析产生结果的原因。
16
路由询问和通告
为了发现网络上的路由器,主机可广播(或多播)路由器 询问报文。收到询问报文的一个或几个路由器就使用路由 器通告报文广播自己的地址。
17
路由询问和通告(续)
地址数指的是报文数据部分所含的路由器地址 个数
地址项长度指的是每个路由器地址项目的32位 字长度(值固定为2)
生存期指的是通告地址有效的时间(秒)。 数据部分包括多个的路由器地址项目,对应路
5
目的端不可达
当路由器不能够给数据报找到路由或主机有能够交付数据 报时,就丢弃这个数据报,然后这个路由器或主机就向发 出这个数据报的源主主机发回目的端不可达报文。
IPICMP协议分析实验
IPICMP协议分析实验IP ICMP(Internet Protocol Internet Control Message Protocol)是Internet协议族中的两个重要协议。
IP协议是网络层协议,负责将数据包从源主机路由到目标主机,而ICMP协议是网络控制协议,用于报告错误、传递管理信息和查询目标主机的可达性等。
首先,IPICMP协议在网络通信中起到了至关重要的作用。
它提供了网络中各个主机之间的可达性和连通性检测。
其中,IP协议通过定义IP包的结构和交换规则来实现在网络中传送数据的功能。
而ICMP协议则负责通过控制报文在主机之间传递控制和错误信息。
IP协议通过IP包来传递数据,每个IP包都由报头和数据两部分组成。
报头中包含了目标IP地址、源IP地址以及其他一些与数据传输相关的控制信息。
IP包在网络中是以路由的方式发送的,通过查找路由表来确定数据包的最佳路径。
ICMP协议则主要用于网络故障排除、错误报告和网络可达性检测。
ICMP报文通常包含一个报头和一个数据部分。
报头中包含了一些与ICMP报文相关的控制信息,而数据部分用于传递具体的错误或其他控制信息。
例如,当目标主机不可达时,ICMP协议会发送一个目标不可达的报文给源主机,以通知源主机无法到达目标主机。
在进行IPICMP协议分析实验时,可以通过抓包工具捕获网络中传输的IP和ICMP报文,然后对报文进行解析和分析。
可以通过观察IP包的报头来了解源主机和目标主机的IP地址,以及其他与数据传输相关的信息。
同时,还可以通过分析ICMP报文来了解网络中的错误情况,如目标不可达、超时等。
在实验中,可以模拟不同的网络故障情况,如主机不可达、路由器故障等,并观察捕获的ICMP报文来分析故障的原因和影响。
此外,还可以通过发送ICMP请求报文来测试目标主机的可达性,以及计算网络的延迟和丢包率等性能指标。
总之,IPICMP协议分析实验是一项重要的实验,通过了解和分析IP 和ICMP报文,可以深入理解网络通信中的关键机制和问题。
第5章Internet控制报文协议ICMP
SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol Photuris, Security failures ICMP for experimental mobility protocols such as Seamoby [RFC4065] Reserved
与类型相关,但是前3个域相同
类型
代码
校验和
其它字段(与类型相关)
数据区…
说明:
(1)对整个报文计算校验和 (2)差错报告报文的数据区包括:出错数据报的首 部 + 出错数据报数据区前64bit 原因:包含上层协议报文的重要信息。
(3)非嵌套使用:规定不为携带ICMP差错报文的数 据报中出现的差错而生成ICMP报文。 如果该类报文出现差错,则产生异常。
例:ping命令 原理:基于ICMP回送请求与应答报文 使用:
可测试网络的可达性 可查看记录路由选项 可指定松散源路由和严格源路由
说明:
1. 用Ping命令可以查看记录路由选项 UNIX:Ping –R,Windows:Ping –r 处理过程:Ping报文(ICMP Echo)封装在IP报文中, 每个处理该IP报文的路由器都把自己的IP地址写到IP 首部的选项中。
0
0
1 5 - Redirect Message
2
3
6
7
8 - Echo Request
0
9 - Router Advertisement
0
10 - Router Solicitation
0
0 11 - Time Exceeded
1
0 12 - Parameter Problem: Bad IP
实验5 Internet控制报文协议(ICMP) 2
实验5 Internet控制报文协议(ICMP)【实验目的】1. 掌握ICMP协议的报文格式2. 理解不同类型ICMP报文的具体意义3. 了解常见的网络故障【学时分配】2学时【实验环境】该实验采用网络结构二【实验内容】一. ICMP简介IP协议是一种不可靠无连接的协议,当数据包经过多个网络传输后,可能出现错误、目的主机不响应、包拥塞和包丢失等问题。
为了处理这些问题,在IP层引入了另一个协议ICMP(Internet控制信息协议)。
ICMP报文有两种类型:差错报文和查询报文。
ICMP报文封装在IP报文里传输。
ICMP报文可以被IP协议、传输层协议(TCP或UDP)和用户进程使用。
ICMP与IP一样,都是不可靠传输,ICMP的信息也可能丢失。
为了防止ICMP报文无限制的连续发送,对于ICMP报文在传输中发生的问题,将不再发送ICMP差错报文。
二. ICMP报文格式ICMP数据包由8字节的首部和可变长度的数据部分组成。
如下图所示,第一个字段是ICMP的类型,它定义了报文类型。
第二个字段是代码字段,它指明了发送这个特定报文类型的原因。
校验和字段为ICMP数据包提供差错校验。
对于不同类型的ICMP数据包,首部的最后4个字节的格式是不同的,具体的格式将在下面讨论。
差错报文的数据部分携带引起差错的原始数据。
查询报文的数据部分携带了基于查询类型的额外信息。
图4-1 ICMP报文的一般格式●类型:8位字段,用于描述特定类型的ICMP报文。
●代码:8位字段,进一步描述某些ICMP报文的具体说明。
●校验和:16位字段,覆盖这个ICMP报文的校验和。
三. ICMP封装ICMP报文封装在IP数据报中,具体的封装方法如下图所示:图4-2 ICMP封装四. ICMP报文类型ICMP报文可分为两大类:差错报文和查询报文,如下图所示:图4-3 ICMP报文类型差错报文报告路由器或主机在处理IP数据报时遇到的问题。
查询报文是成对出现的,它帮助主机或网络管理员从一个路由器或另一个主机得到特定的信息。
internet控制报文协议(icmp)实验小结
internet控制报文协议(icmp)实验小结
internet控制报文协议(icmp)是一种用于网络设备之间进行通
信的控制协议,可以对网络通信进行错误检测和纠正,提高网络的可
靠性和稳定性。
在本文中,我们进行了一个简单的ICMP实验,以验证ICMP协议的工作原理和功能。
实验步骤:
1. 配置本地路由器,使其能够与远程主机通信。
2. 在本地路由器上添加一个ICMP协议栈,允许发送ICMP报文,
并检查ICMP报文是否被成功接收。
3. 发送一个ICMP请求包,并将其发送到远程主机。
4. 观察本地路由器上接收到请求包的时间戳,以及该请求包是
否被成功接受。
5. 发送一个ICMP响应包,并将其发送到本地主机。
6. 观察本地主机上接收到响应包的时间戳,以及该响应包是否
被成功发送。
实验结果:
通过这个实验,我们可以看到ICMP协议的工作原理和功能。
本地路由器成功接收到了远程主机发送的ICMP请求包,并返回了一个成
功响应包。
通过检查本地路由器上接收到请求包和响应包的时间戳,
我们可以确定它们都是在同一时间发送的。
这表明ICMP协议可以有
效地检测和纠正网络通信中的错误,从而提高网络的可靠性和稳定性。
结论:
ICMP协议是一种非常重要的网络协议,可以用于检测网络通信中的错误,并确保网络通信的可靠性和稳定性。
通过这个简单的实验,我们可以看到ICMP协议的工作原理和功能,为我们理解和应用ICMP 协议提供了重要的参考。
计算机网络实验报告实验内容-
物电学院电子信息工程计算机网络实验报告实验一、以太网帧的构成(4学时),拓扑结构一实验二、网际协议IP(4学时),拓扑结构一实验三、Internet控制报文协议ICMP(2学时),拓扑结构二实验四、域名服务协议DNS(2学时),拓扑结构一实验五、动态主机配置协议DHCP(2学时),拓扑结构一实验六、传输控制协议TCP(4学时),拓扑结构一指导老师:年级班级:学号:姓名:实验一以太网帧的构成一、实验目的1. 掌握以太网的报文格式2. 掌握MAC地址的作用3. 掌握MAC广播地址的作用4. 掌握LLC帧报文格式5. 掌握仿真编辑器和协议分析器的使用方法二、实验原理(一)、两种不同的MAC帧格式常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准;另一种是IEEE的802.3标准。
目前MAC帧最常用的是以太网V2的格式。
下图画出了两种不同的MAC帧格式。
(二)、MAC层的硬件地址1、在局域网中,硬件地址又称物理地址或MAC地址,它是数据帧在MAC层传输的一个非常重要的标识符。
2、网卡从网络上收到一个 MAC 帧后,首先检查其MAC 地址,如果是发往本站的帧就收下;否则就将此帧丢弃。
这里“发往本站的帧”包括以下三种帧:单播(unicast)帧(一对一),即一个站点发送给另一个站点的帧。
广播(broadcast)帧(一对全体),即发送给所有站点的帧(全1地址)。
多播(multicast)帧(一对多),即发送给一部分站点的帧。
三、网络结构四、实验步骤练习一:编辑并发送LLC 帧本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。
现仅以主机A 和B 为例,说明实验步骤。
1、主机A 启动仿真编辑器,并编写一个LLC 帧。
目的MAC 地址:主机B 的MAC 地址。
源MAC 地址:主机A 的MAC 地址。
协议类型和数据长度:可以填写001F 。
类型和长度:可以填写001F 。
