ICMP协议分析
实验二IP协议与ICMP协议分析实验
实验二IP协议与ICMP协议分析实验引言:IP(Internet Protocol)是互联网协议族的核心协议之一,负责实现网络数据包的传输。
而ICMP(Internet Control Message Protocol)是基于IP协议的重要协议,用于在IP网络中传递控制和错误消息。
实验目的:本实验旨在通过对IP协议和ICMP协议的分析,深入了解二者的工作机制和应用。
实验原理:1.IP协议:IP协议是一种无连接的、不可靠的协议,负责将分组从源地址传输到目的地址。
它的主要特点是在网络层提供了全球唯一的逻辑标识符--IP 地址,实现了跨网络的传输。
IP分组的格式包括首部和数据两部分。
首部长度为20字节,包含了版本号、首部长度、服务类型、总长度、标识、标识、标志、片偏移、生存时间、协议、首部校验和、源地址和目的地址等信息。
2.ICMP协议:ICMP是一种网络层协议,用于检测和报告网络层的错误。
它通常使用在IP分组传输中,可以在主机、路由器之间传递控制和错误信息。
ICMP报文的格式包括首部和数据两部分。
首部长度为8字节,包含了类型、代码、校验和等信息。
数据部分根据不同的类型和代码而不同。
实验步骤:1.IP数据包的抓取和分析:首先,在一台计算机上安装Wireshark软件,并使用Wireshark抓取与该计算机相关联的网络接口的IP数据包。
然后,通过过滤条件过滤出IP协议的数据包,并逐一观察IP数据包的首部信息,包括版本号、首部长度、服务类型、总长度、标识等。
最后,根据抓包结果,分析IP数据包的传输过程和相关特性。
2.ICMP报文的抓取和分析:继续使用Wireshark软件,过滤条件设置为ICMP协议,抓取与该计算机相关联的网络接口的ICMP报文。
然后,逐一观察ICMP报文的首部信息,包括类型、代码、校验和等。
最后,根据抓包结果,分析ICMP报文的类型和用途,并进一步了解ICMP协议的工作机制。
实验结果:通过实验,我们得到了IP数据包和ICMP报文的抓包结果,并分析了其首部信息和特性。
ICMP协议解码详解
协议分析 - ICMP 协议解码详解
一、 ICMP协议简介
ICMP 全称 Internet Control Message Protocol,中文名为因特网控制报文协议。它工作在 OSI 的网络层,向数据通讯中的源主机报告错误。ICMP 可以实现故障隔离和故障恢复。
网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。 网络层的 IP 协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的 ICMP 协议却恰好弥补了 IP 的缺限,它使用 IP 协议进行信息传递,向数据包中的源端节点 提供发生在网络层的错误信息反馈。
(图 1 科来网络分析系统抓取的 ICMP 回显报文)
成都科来软件有限公司
电话:028-85120922 传真:028-85120911
2/2
Email:sales@ support@
我们详细介绍在图 1 中的解码信息,
ICMP 的报头长 8 字节,结构如图 1 所示。
比特 0
78
15 16
比特 31
类型(0 或 8)
代码(0) 为使用 数据
检验和
(图 1 ICMP 报头结构)
z 类型:标识生成的错误报文,它是 ICMP 报文中的第一个字段; z 代码:进一步地限定生成 ICMP 报文。该字段用来查找产生错误的原因; z 校验和:存储了 ICMP 所使用的校验和值。 z 未使用:保留字段,供将来使用,起值设为 0 z 数据:包含了所有接受到的数据报的 IP 报头。还包含 IP 数据报中前 8 个字节的数据;
15
信息请求(与类型 16 一起使用)
16
信息应答(与类型 15 一起使用)
ICMP协议的应用及分析
ICMP协议的应用及分析ICMP(Internet Control Message Protocol)是一种用于在IP网络中传递控制消息的协议。
它被用于在网络中传输有关网络连接状态、网络错误和性能问题的各种信息。
ICMP协议主要用于网络故障排除和网络性能监测。
以下是ICMP协议的应用和分析。
1. 网络故障排除:ICMP协议的重要应用之一是网络故障排除。
当网络出现故障或连接问题时,可以使用ICMP协议的控制消息来诊断和定位问题。
例如,使用ICMP协议的“ping”命令可以向目标主机发送ICMP Echo Request消息,并等待接收ICMP Echo Reply消息。
如果目标主机成功回复,则表示网络连接正常,否则表示存在连接问题。
2. 网络性能监测:ICMP协议还可以用于监测网络的性能。
通过定期发送ICMP Echo Request消息,并测量对应的ICMP Echo Reply消息的往返时间(RTT),可以估计网络的延迟。
此外,ICMP协议还可以用于测量网络的丢包率,即发送一定数量的ICMP Echo Request消息,然后计算成功接收到ICMP Echo Reply消息的比例。
3. 路由故障检测:ICMP协议的另一个重要应用是路由故障检测。
当网络中的路由器出现故障或发生路由问题时,可以使用ICMP协议的控制消息来检测和报告问题。
例如,ICMP协议的“Traceroute”命令可以通过发送一系列的ICMP Echo Request消息,并在每一跳路由器上观察到对应的ICMP Echo Reply消息,从而确定消息的路径和网络瓶颈。
4. 错误报告和信噪比检查:ICMP协议还可以用于报告和检查网络中的错误。
例如,当封包无法被正确路由或丢失时,ICMP协议可以生成相应的错误消息,并将其返回给源主机。
此外,ICMP协议还可以用于检查信噪比,即通过发送ICMP Echo Request消息并测量响应的RTT,可以判断网络中的延迟和丢包情况。
ICMP协议分析
ICMP协议分析1 ICMP协议协议概述IP协议是一种不可靠的协议,无法进行差错控制。
但IP协议可以借助其他协议来实现这一功能,如ICMP。
ICMP(Internet Control Messages Protocol, 网间控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。
一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。
如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP报文。
2 ICMP报文类型2.1 ICMP报文类型ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP询问报文。
但细分又可分为很多类型,如表1所示。
表1 ICMP报文类型2.2 ICMP回射请求和应答报文头部格式ICMP报文被封装在IP数据报内部传输。
如图1所示,是ICMP回射请求和应答报文头部格式。
图1 ICMP回射请求和应答报文头部格式各种ICMP报文的前32bits都一样,它们是:8bits类型和8bits代码字段:一起决定了ICMP报文的类型。
常见的有:类型8、代码0:回射请求。
类型0、代码0:回射应答。
类型11、代码0:超时。
16bits校验和字段:包括数据在内的整个ICMP数据包的校验和,其计算方法和IP头部校验和的计算方法是一样的。
对于ICMP回射请求和应答报文来说,接下来是16bits标识符字段:用于标识本ICMP进程。
最后是16bits序列号字段:用于判断回射应答数据报。
2.3 ICMP目标不可达报文如图2所示,是ICMP目标不可达报文头部格式。
图2 ICMP目标不可达报文头部格式其中代码字段的不同值又代表不同的含义,如0代表网络不可达、1代表主机不可达等,见表1。
2.4 ICMP超时报文头部格式如图3所示,是ICMP超时报文头部格式。
图3 ICMP超时报文头部格式其中:类型11+代码0:表示传输期间生存时间为0。
ICMP协议分析_实验四
北京理工大学珠海学院实验报告ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY班级:学号:姓名:指导教师:成绩实验题目:实验时间:一、实验目的:掌握ICMP协议的工作原理,理解ICMP协议的分组结构。
二、实验内容实验内容用ping命令和科莱网络分析系统分析ICMP包的基本结构以及会先请求与应答消息、目标不可达、超时等消息的ICMP报文的异同。
实验步骤:1.回显请求及其应答消息。
(1)在PC1上运行命令:ping 临机IP。
(2)命令执行后,停止抓包,分析ICMP报文,查看报文结构和首部格式以及首部中个字段的内容。
(3)说明ICMP报文首部个字段的含义以及所捕获的的数据报属于什么报文。
(4)对PC2上捕获到的包进行分析,说明ICMP报文首部各字段的含义以及所捕获的数据报属于什么报文。
2.超时消息。
(1)在PC1上运行命令:ping不存在或者没有开机的计算机的IP。
(2)停止抓包,分析ICMP报文,查看报文结构个首部格式中各字段的内容。
(3)说明ICMP报文首部各字段的含义以及所捕获的数据报属于什么报文。
(4)对PC2上捕获到的包惊醒分析,说明ICMP报文首部各字段的含义以及所捕获的数据报属于什么报文。
3.端口不可达消息。
(1)在PC1上启动TFTP服务器软件。
(2)在PC2上启动科莱网络分析系统,开始抓包。
(3)在PC1的命令窗口运行命令:tftp -i PC2的IP get 文件名(该文件可能不存在);三、实验结果1.回显请求及其应答消息。
PC1发来的数据包PC2回应PC1的数据报2.超时消息。
Ping 10.16.7.250抓到的数据包3.端口不可达消息。
使用TFTP服务器软件,抓到的额数据包四、思考与讨论1.通过查资料,请描述协议不可达报文的结构以及首部字段的含义。
答:ICMP目标不可达报文如图所示,是ICMP目标不可达报文头部格式。其中代码字段的不同值又代表不同的含义,如,0代表网络不可达、1代表主机不可达等。
个人总结-ICMP的协议详解以及实现
个人总结-ICMP的协议详解以及实现ping 的实现:1.首先查本地arp cache信息,看是否有对方的mac地址和IP地址映射条目记录2.如果没有,则发起一个arp请求广播包,等待对方告知具体的mac地址3.收到arp响应包之后,获得某个IP对应的具体mac地址,有了物理地址之后才可以开始通信了,同时对ip-mac地址做一个本地cache4.发出icmp echo request包,收到icmp echo reply包ICMP在网络层协议,不是用端口来说的,它的功能用类型来区别。
ICMP全称Internet Control Message Protocol(网际控制信息协议)。
在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容。
IP层的控制功能是最复杂的,主要负责差错控制、拥塞控制等,任何控制都是建立在信息的基础之上的。
在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。
为了处理这些错误,TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息。
让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。
二、ICMP报文格式ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文(见图表,ICMP报文的结构和几种常见的ICMP报文格式),IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。
RFC定义了13种ICMP报文格式,具体如下:类型代码类型描述0 响应应答(ECHO-REPLY) 3 不可到达 4 源抑制 5 重定向 8 响应请求(ECHO-REQUEST)11 超时 12 参数失灵 13 时间戳请求 14 时间戳应答 15 信息请求(*已作废) 16 信息应答(*已作废)17 地址掩码请求 18 地址掩码应答其中代码为15、16的信息报文已经作废。
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):用于通知发送方数据包无法到达目的地。
ICMP协议解析网络故障诊断与错误报告的协议分析
ICMP协议解析网络故障诊断与错误报告的协议分析网络故障和错误报告对于保持网络通畅和稳定至关重要。
而ICMP 协议作为网络通信中一种常见的控制协议,承担着网络故障诊断和错误报告的重要任务。
一、ICMP协议简介ICMP(Internet Control Message Protocol)是一种基于IP协议的网络层协议,它被用于向网络中的其他主机或路由器发送控制信息和错误报告,以便进行网络故障诊断和错误的处理。
二、ICMP协议的作用1. 错误报告:ICMP协议可以向源主机或路由器发送错误报告,指示某个数据包在传输过程中发生错误。
这有助于及时发现并解决网络传输中的问题,提高网络的可靠性和稳定性。
2. 网络故障诊断:ICMP协议可以通过发送特定类型的控制消息,来检测目标主机或路由器是否可达、网络延迟情况以及其他网络故障信息,帮助网络管理员进行网络故障的诊断与解决。
三、ICMP协议的工作原理1. ICMP消息格式:每个ICMP消息都包含一个报头部分和一个数据部分。
报头部分包含消息的类型、代码和校验和等字段,用于标识和分类不同类型的ICMP消息。
数据部分则用于携带相关的控制信息或错误报告的具体内容。
2. ICMP消息类型:ICMP协议定义了多种不同类型的消息,用于表示不同的控制信息和错误报告。
例如,ICMP回显请求和回显应答消息用于进行网络连通性的测试,ICMP目标不可达消息用于指示主机或路由器不可达等。
3. ICMP消息的传输和响应:当一台主机或路由器收到ICMP控制消息后,会根据消息的类型和代码进行相应的处理。
对于错误报告,源主机或路由器通常会进行一些错误的修复或处理;对于网络故障诊断,接收方主机或路由器会根据ICMP消息作出相应的反应,如发送回ICMP响应消息。
四、常见的ICMP协议应用1. Ping命令:Ping命令基于ICMP协议的回显请求和回显应答消息,用于测试目标主机或路由器的连通性。
发送Ping命令后,源主机会收到目标主机发回的ICMP回显应答消息,从而得知目标主机的连通状态。
第5章 ICMP协议分析
19
如果出现主机不可达错误,则必然不会发生网络不可到达的故障, 而且说明寻找路由是正常的。因此主机不可到达的问题是传输过程 中的问题。 协议和端口不可达,这两种报文涉及更高级的协议,由目标主机本 身所产生。实际上是IP报文虽然到达目标主机,但是没有办法被高 层应用软件接收。
20
5.2 ICMP报文及类型 3.时间超时 在Internet网络中为了防止出现路由循环,TCP/IP采取了两个措施 ,一个是每个IP数据报的报头设置TTL(Time To Live,生存时间 )域,第二是对分片数据报采用定时器计数。 其核心思想就是通过定时来限制数据包在网络中的逗留时间,以防 出现不可忍受的传输延迟,从而提高网络的传输率。
24
5.2 ICMP报文及类型
在网络通信过程中,当大量的数据报进入路由器或信宿时,会造成 缓冲区溢出,即出现拥塞。 引起网络拥塞的原因,可能是网关的处理速度太慢或者是网关输入 数据的速率大于输出线路的容量。 本质上来讲,拥塞的原因都在于没有足够的数据缓冲区。 拥塞控制的方法很多,TCP/IP采用源抑制技术,即抑制信源发出数 据包的速率。
1
5.1 ICMP的作用 作为网络层重要的协议,ICMP可以提供有关网络可连接性的信息, 获得基于数据报或无连接协议不能传输的路由行为的信息。 如果要诊断和修复TCP/IP连接性问题,就必须知道从什么地方得到 IP互联网上数据包如何从原位置传输到目的位置的信息。 通常网络的可达性表述为:对于任何与另一个网络节点进行通信和 交互数据的网络节点来说,一定存在从发送方到接收方转发数据的 某种方法。 正常情况下,可用转发路径可以在位于发送方和接收方之间各种各 样中间设备的本地IP路由表的内容中发现。
5
典型的情况是ICMP重定向消息的处理。 当网关和路由器转发数据报时发现有更好的路径去往目的主机, 则把一条ICMP消息提供给发送方,把主机引导到一条更好的网络路由 上,即发送一条重定向消息。主机对这条ICMP消息的处理则各有不同 。 RFC792提供了有关ICMP协议的基础规范,并定义了各种ICMP信息和 服务的类型。
个人总结-ICMP的协议详解以及实现
个人总结-ICMP的协议详解以及实现ICMP(Internet Control Message Protocol,互联网控制报文协议)是用于在IP网络中传递控制消息的协议。
它被用于处理IP层出现的各种问题,例如传输错误、路由不可达等。
ICMP是TCP/IP体系结构中的一个核心协议,它通常运行在IP层之上,与ICMP支持的其他协议(如IP、TCP和UDP等)一起,共同构成了TCP/IP协议栈,为网络的正常运行提供了基本保障。
本文将详细介绍ICMP的协议原理以及实现方式。
一、ICMP的协议原理1. ICMP的基本作用ICMP协议是用于在IP网络中传递控制消息的,它向源主机提供有关数据包的错误和状态信息,以便确定数据包无法到达目标的原因,同时可以提供其他重要信息。
常见的ICMP消息类型有:(1)Echo Request/Echo Reply消息:用于测试连接状态,通常在网络管理中用于回应ping命令。
(2)Destination Unreachable消息:表示数据包无法到达目标地址,常见的原因有网络不可达、主机不可达和端口不可达。
(3)Redirect消息:用于指示源主机修改其路由表,通过新的路由器转发其数据包。
(4)Time Exceeded消息:如果一个数据包在传输过程中的TTL(Time To Live)超过了设定值,就会产生此类消息。
(5)Parameter Problem消息:通常用于指出数据包的某些字段格式错误。
2. ICMP的结构ICMP消息通常由一个8字节的协议头和与该头部相对应的变长数据段组成。
下面是ICMP头部的常用字段:(1)类型(Type):占1字节,表示ICMP消息类型,取值范围为0~63,其中0用于Echo Reply消息,8用于Echo Request消息,其他类型有其他含义。
(2)代码(Code):占1字节,表示类型字段的更加具体的信息,其值配合Type字段来确定每一个ICMP消息的具体类型,取值范围为0~255。
ICMP协议原理及报文分析
ICMP协议原理及报文分析学院计算机学院班级07级网络工程本科班姓名王宇目录摘要 (2)第一章 TCP/IP结构模型1.1 TCP/IP结构模型 (2)第二章 ICMP协议原理解析ICMP协议原理概述 (4)2.2 ICMP协议报头 (5)2.3 ICMP协议的消息 (6)2.4 ICMP报文分析 (7)2. ping命令 (7)2.4.2 路由跟踪tracert (9)小结 (11)参考文献 (11)参考网文 (11)摘要本文较深入地解释说明了TCP/IP协议组中的ICMP协议及其工作原理。
ICMP 是“Internet Control Message Protocol”(Internet控制报文协议)的缩写,是一种与IP协议并行运行在网络层的协议,也是最常用也最重要的协议之一,属于OSI/RM参考模型里面第三层网络层的子协议,用于在IP主机、路由器之间传递控制消息,控制着网络流量。
控制消息包含网络通不通、主机是否可达、路由是否可用等网络本身的消息。
本文还深入分析了在常用操作系统下(如Windows,DOS)利用ICMP协议实现的ping命令和tracert命令,它们是用来测试网络是否通畅,主机是否可达,及查看到目的主机所经过的路由器的个数和IP地址。
关键词:ICMP ,TCP/IP ,Ping ,tracert第一章TCP/IP结构模型1.1 TCP/IP结构模型目前使用的大多数网络通信协议的结构都是基于OSI(Open Systems Interconnection,开放式系统互联模型)模型的。
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制和网间互连协议)结构也是基于OSI模型但又并不严格遵循 OSI模型。
但当前关于如何使用分层模型来描述TCP/IP又没有一个统一的协定。
一般承认TCP/IP比7层OSI模型层次少(3到5层)。
ICMP协议分析实验
ICMP协议分析实验ICMP协议(Internet Control Message Protocol)是一种用于在网络中传输控制消息的协议。
它主要用于网络故障排除、网络测量和网络管理等方面。
本文将进行ICMP协议分析的实验,包括协议介绍、实验目标、实验步骤以及实验结果分析等内容。
一、协议介绍ICMP协议是在IP协议的基础上,用于报告有关网络通信事件的信息。
它通过将控制信息封装在IP数据包中,并传递给发送目标,来提供错误检测和网络诊断功能。
ICMP消息可以用于发送ping请求(ICMP echo request)和接收ping应答(ICMP echo reply)。
二、实验目标本实验的目标是使用ICMP协议进行网络测量,在局域网中测试网络性能。
具体目标如下:1. 测试网络连接的稳定性:通过发送ping请求,查看网络中是否存在丢包或延迟等问题。
2. 测试网络带宽:通过测量ping请求和应答的时间差,计算网络延迟,并以此评估网络带宽。
3. 模拟网络拥塞:通过控制ping请求的发送速率,观察在网络负载过大时,网络的表现和响应时间。
三、实验步骤1.配置网络环境:确保实验所需的网络环境正常,包括正确连接计算机和路由器,并设置正确的IP地址和网关。
2. 打开命令提示符:在Windows系统中,通过按下Win+R键,输入“cmd”并点击“确定”来打开命令提示符。
在Linux系统中,使用Ctrl+Alt+T组合键打开终端。
3. 发送ping请求:在命令提示符中输入“ping 目标IP地址”来发送ICMP echo request命令。
如“ping 192.168.0.1”。
观察ping应答时间、丢包率等信息。
4. 测试网络带宽:通过ping命令的返回时间来评估网络带宽。
使用较大的ping数据包和较频繁的ping请求,以提供更准确的带宽估计。
5. 模拟网络拥塞:通过在命令提示符中连续发送ping请求来模拟网络拥塞。
实验八 分析ICMP协议实验目的
实验八分析ICMP协议一、实验目的1.了解Ethereal的下载安装方法。
2.掌握Ethereal的简单使用方法,包结果分析方法。
3.掌握正确使用Ethereal分析ICMP协议的技能。
4.掌握ping基本命令的使用和ping命令的工作原理。
5.掌握tracert基本命令的使用和tracert命令的工作原理。
二、实验环境1.运行Windows XP /2003 Server操作系统的PC机一台。
2.每台PC机具有以太网卡,通过双铰线与局域网相连。
3.安装winpap下载地址http://netgroup-serv.polito.it/winpcap/install/Default.htm4.Ethereal工具(可以从/下载)。
三、实验步骤1.预习与ping命令相关的因特网控制报文协议ICMP相关的内容,通过搜索引擎了解什么是嗅探器。
了解嗅探器工具Ethereal的下载、安装和使用方法。
2.下载安装并 Ethereal;(Ethereal需要用到WinPcap。
一些高版本的Ethereal内置了WinPcap的安装文件,在安装Ethereal的时候选择安装一下就可以了,不需要再单独去下载WinPcap。
不过如果你有更高版本的WinPcap,也可以自己单独下载安装。
)3.打开Windows命令提示符窗口,准备输入要运行的ping命令计入图(1)界面;图1点击确定进入图(2)界面;图(2)4.启动系统。
启动系统后点击“Ethereal”程序组中的“Ethereal”图标,将出现以系统操作界面,如图3图3 Ethereal系统主界面点击“Capture/Start”菜单开始抓包。
在菜单capture 下点击interfaces,选取要抓包的网卡,这里选取这个网卡抓取数据包,如下图4:图45.输入要运行的ping命令及要测试的目标主机的ip地址,等到ping命令的结果完全显示出来后,单击软件中的stop按钮,停止包的抓获;6.输入ping指令和郑州大学“学校概况”网页的ip地址,例如图5所示ping202.196.64.199。
网络实验指导ICMP协议的分析与实现
网络实验指导----ICMP协议的分析与实现网络实验指导——ICMP协议的分析与实现一、实验目的本实验旨在深入理解 Internet Control Message Protocol (ICMP) 的工作原理,通过分析 ICMP 报文,了解其在网络通信中的作用,并掌握 ICMP 在网络故障诊断和排除中的应用。
二、实验背景ICMP 是 TCP/IP 协议族中的一种辅助协议,用于传递控制消息,提供错误报告和诊断信息。
当在 IP 网络中遇到问题时,ICMP 可以帮助诊断和解决问题。
因此,对 ICMP 的深入理解对于网络管理员和安全专家来说至关重要。
三、实验工具/环境1.操作系统:Windows 或 Linux2.网络工具:Wireshark3.编程语言:Python(用于编写 ICMP 客户端和服务端程序)四、实验步骤与记录步骤 1:捕获 ICMP 报文1.在实验机器上安装 Wireshark 并启动。
2.通过 Wireshark 捕获 ICMP 报文。
可以在 Wireshark 的过滤器中输入“icmp” 来只显示 ICMP 报文。
3.分析捕获到的 ICMP 报文,观察其结构、字段和用途。
步骤 2:实现 ICMP 客户端和服务端程序1.使用 Python 编写一个简单的 ICMP 客户端程序,发送 ICMP Echo 请求报文到目标 IP 地址。
2.编写一个 ICMP 服务端程序,监听来自客户端的 ICMP Echo 请求,并发送ICMP Echo 回复报文。
3.运行客户端和服务端程序,观察是否能成功实现 ICMP Echo 请求和回复。
步骤 3:利用 ICMP 进行网络故障诊断与排除1.分析网络故障,确定可能的问题所在。
如网络连接中断、无法访问特定网站等。
2.使用 Wireshark 和 Python 编写的 ICMP 客户端程序,进行故障诊断和排除。
3.根据捕获到的 ICMP 报文和程序运行结果,判断故障原因,提出解决方案。
02_ICMP协议分析
差错报告报文
参数出错报文
1) 参数出错报文报告出错的报文头与错误的报文选项参数 2) 路由器或信宿机在丢弃参数出错的报文时,将向信源机发出参数出错报文; 3) 参数出错报文格式:
类型(12) 指针
码(0-或121)
校验和
未用(全£0)
数据报报头+前64位数据
......
0 -- 数据报某个参数错,指针域指向出错的字节; 1 -- 数据报缺少某个选项,无指针域;
差错报告报文
信息不可达报文
网关在以下情况下发出信息不可到达报告 1) 信宿机硬件出现故障或关机; 2) 发送者指定的地址不存在; 3) 网关不知道去往信宿的路径;
信宿不可到达报告的格式
类型(3)
码(0-12)
校验和
未用(全0)
出错数据报报头+前64bit数据
........
差错报告报文
信息不可达报文
√
1 主机不可达
√
2 协议不可达
√
3
3 端口不可达
√
4 需要进行分片,但设置了 DF 不分片(2.3.2 节)
√
5 源路由选择失败
√
6 目标网络未知
√
ICMP数据包类型
ICMP报文类型
7 目标主机未知
√
8 源主机被隔离
√
9 与目标网络的通信被强制禁止
√
10 与目标主机的通信被强制禁止
√
11 对于请求的服务类型 TOS,网络不可达
码域值: 0 ~ 12,进一步说明信宿不可到达的具体原因
码值 0 2 4 6 8
10 11 12
意义
码值 意义
网络不可到达
1 主机不可到达
(完整)实验三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其它字段填充完毕后,计算并填充。
其它字段使用默认值。
ICMP协议原理及报文分析
ICMP协议原理及报文分析ICMP(Internet Control Message Protocol)是互联网控制报文协议,用于在IP网络中传递控制消息,在网络层和传输层之间进行通信。
ICMP报文是通过IP数据报来传递的。
ICMP的主要功能是提供有关IP主机和路由器错误和状态的信息。
本文将详细介绍ICMP协议的原理及报文分析。
ICMP消息可以分为两类:差错消息和询问消息。
差错消息是由底层网络设备生成的,用于通知源主机或路由器发生了错误。
例如,目标不可达、时间超过等。
询问消息是由主机或路由器生成的,用于探测目标主机的状态。
例如,回显请求和回显回答。
ICMP报文的格式:ICMP报文由报文类型、代码、校验和和数据字段组成。
报文类型指示了报文的类型,如回显请求、回显回答、目标不可达等。
代码字段用于更详细地说明报文类型。
校验和字段用于检查报文的完整性,以防止传输过程中的错误。
ICMP报文通常包含报文头和报文数据两部分。
报文头包含了一些用于标识报文类型和代码的字段。
报文数据部分用于存储具体的信息。
ICMP报文分析:下面分析几种常见的ICMP报文类型及其含义:1. 回显请求(Echo Request)和回显回答(Echo Reply):回显请求报文用于测试与目标主机的连通性。
源主机发送一个回显请求报文到目标主机,目标主机接收到后,将会生成一个回显回答报文发送回源主机。
这可以用于测试网络的可达性和测量网络的延迟。
2. 目标不可达(Destination Unreachable):目标不可达报文用于通知源主机一些目标无法到达。
例如,当一个路由器收到一个数据报,并且无法将其转发到目标主机时,它会发送一个目标不可达报文给源主机。
报文中的代码字段可以指示不可达原因,如网络不可达、主机不可达、端口不可达等。
3. 时间超过(Time Exceeded):时间超过报文用于通知源主机数据包在传输过程中超过了最大存活时间(TTL)。
icmp协议分析实验总结
icmp协议分析实验总结ICMP协议分析实验总结一、双方的基本信息甲方:XXX公司地址:XXX电话:XXX法定代表人:XXX乙方:XXX人地址:XXX电话:XXX二、各方身份、权利、义务、履行方式、期限、违约责任甲方身份:ICMP协议分析实验委托人权利:甲方有权要求乙方按照合同约定完成ICMP协议分析实验,并提供专业、准确、完整的实验报告。
义务:甲方应该按照合同约定支付实验费用,并配合乙方开展实验工作。
同时,甲方有责任保护实验过程中产生的数据信息。
履行方式:甲方与乙方通过签署合同,约定实验的具体内容、时间、费用、报告要求、保密事项等。
乙方按照合同约定的内容完成实验,并提交实验报告。
期限:实验完成后,乙方应在约定时间内提交实验报告,甲方应在接到实验报告后及时支付实验费用。
违约责任:如果乙方未按照合同约定完成实验或实验报告不符合要求,甲方有权要求乙方承担违约责任,包括但不限于退还实验费用、赔偿损失等。
乙方身份:ICMP协议分析实验执行人权利:乙方有权要求甲方按照合同约定支付实验费用,并提供必要的数据信息。
义务:乙方应当按照合同约定完成实验,并提供专业、准确、完整的实验报告。
乙方同时应遵守中国的法律法规,保证实验过程中不会侵犯他人的合法权益。
履行方式:乙方与甲方通过签署合同,约定实验的具体内容、时间、费用、报告要求、保密事项等。
乙方应按照约定的内容完成实验,并提交实验报告。
期限:实验完成后,乙方应在约定时间内提交实验报告,甲方应在接到实验报告后及时支付实验费用。
违约责任:如果乙方未按照合同约定完成实验或实验报告不符合要求,乙方有权要求甲方承担违约责任,包括但不限于赔偿损失等。
三、需遵守中国的相关法律法规本合同涉及的实验过程及实验报告需遵守《中华人民共和国宪法》、《中华人民共和国合同法》等相关法律法规的规定。
四、明确各方的权力和义务1.甲方有权安排乙方进行ICMP协议分析实验,并要求乙方按照合同约定完成实验。
ICMP协议全方位解析
代码6. 目的网站不可知,路由器根本没有关于目的网络的信息。
代码7. 目的主机不可知,路由器根本不知道网络主机的存在。
代码8. 源主机是孤立的。
代码9. 与目的网络的通信从管理上是禁止的。
代码10. 与目的主机的通信从管理上是禁止的。
代码11. 对指明的服务类型,网络不可达。如果源站被请求一个可用的 服务类型,路由器可以为数据报找到另一条路由。
。
作用
1)IP协议没有差错报告或者差错纠正机制。 当遇到网络通不通、主机是否可达、路由是否可用等情况时,IP协议没
有内建的机制可以通知发出该数据报的主机的例子 2)IP协议还缺少主机和管理查询所需要的机制。 主机有时候需要判断某个路由器或者对方主机是否活跃。有时网络管理
员也需要来自其他主机或者路由器的信息。 综上: ICMP的设计就是为了弥补IP协议的两个缺陷的:即:1)IP洗衣没有差
代码3. 端口不可达,数据要交付的那个应用程序(进程)此时未运行。
代码4. 需要进行分片,但该数据报的DF(不分片)字段已经被设置。 (数据报的发送站已经指明该数据报不能分片,但是不进行分片又不可 能进行路由选择)
代码5. 源站路由选择不能完成。换言之,在这个源站路由选择选项中 定义的一个或多个路由器无法通过。
源点抑制
目的:IP协议是无连接协议。在产生数据报的源主机和转发数据报的路 由器以及处理数据报的目的主机之间没有任何通信联系。因而缺乏流量 控制和拥塞控制。
工作流程:
1)当路由器收到太多的数据报以致内存不够时,在丢弃所收数据报的 同时,向创建数据报的源主机发送源抑制报文,其报文格式如下图所示。 2)源主机收到源抑制报文后,需要降低发送数据报的速率。
而在多对一的通信中,许多个源站产生的数据报都必须由路由器或目的 主机来处理。在这种情况下,有的会以低速率发送,而有的则以高速率 发送,这就导致了源站抑制报文在发送后,路由器或主机并不知道哪一 个源站应对拥塞负责。它可能丢弃从不非常低速率的源站法来的数据报, 而没有丢弃真正产生拥塞的源站所发来的数据报。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IP 协议分析
一、实验目的
学会使用协议分析软件分析IP 数据包 了解IP 协议的首部 学会使用Ping 命令 验证IP 分片过程 掌握ICMP 协议的首部
二、实验原理
1.IP 协议
1)IP 协议是因特网上最重要的网络层协议。
2)IP 协议是无连接、不可靠的协议。
3)IP 协议分ipv4和ipv6两个版本,目前大多设备都支持ipv4,但ipv4占主流。
4)ipv4包含20个字节的固定首部和可变长的可选首部。
2.IPv4首部格式 1)
2)
可
首
比
3)4)
5)6)
7)8)
3、IP分片
三、实验步骤
1.打开虚拟机,打开wireshark
2.虚拟机与主机确定能互ping
3.Ping通后虚拟机向主机发包3200字节的包分析第一帧
版本号:ipv4
首部长度:20字节
总共长度:1500字节
MF为1:表示后面还有分片
片偏移:0(第一个分片从0开始)保活时间:128(未经过路由器)协议类型:ICMP
校验和:0xb041(十六进制b041) 源地址:172.16.6.3
目标地址:172.16.6.1
数据:1500-20=1480字节
第二帧:
版本号:ipv4
首部长度:20字节
总共长度:1500字节
MF为1:表示后面还有分片
片偏移:1480(第二个分片接第一个分片尾部)保活时间:128(未经过路由器)
协议类型:ICMP
校验和:0xaf88(十六进制af88)
源地址:172.16.6.3
目标地址:172.16.6.1
数据:1500-20=1480字节
第三帧
版本号:ipv4
首部长度:20字节
总共长度:268字节
MF为0:表示后面没有分片了
片偏移:2960(第三个分片接第二个分片尾部)保活时间:128(未经过路由器)
协议类型:ICMP
校验和:0xd39f(十六进制d39f)
源地址:172.16.6.3
目标地址:172.16.6.1
Icmp首部8个字节
数据:268-20-8=240字节
因为是最后一帧,附带ip包分片信息
分为三个包,第一个和第二个都是1480,第三个是248字节(包含8个字节的icmp首部);
分片结束。