ICMP协议的介绍及基本使用

简介: 1、IP数据包头的格式 2、ICMP协议的功能介绍 3、ICMP的基本使用方法

1、IP数据包头的格式


在讲解ICMP协议之前,我们先来简单了解一下IP数据包格式如图所示:

                     2387773-20210517231117670-358315412.png

 

 

 

2、ICMP协议的功能介绍

 


好现在切入正题,ICMP协议。首先ICMP协议的作用是啥?它的作用主要用来知道网络设备之间的连接状况,因此就需要一种机制来侦测或通知网络设备之间可能发生的各种各样的情况。采取的是“错误侦测与回馈机制” 是通过IP数据包封装的,用来发送错误的控制信息。目的是用来掌握网络的联通状况。当路由器收到一个不能被送达最终目的的数据包的时候,路由器会向源主机发送一个主机不可达的ICMP消息。

ICMP属于网络层协议,因此传输信息的时候要先封装网络层的IP报头,在交给数据链路层,即ICMP报文对应的IP层数据,如图所示:


2387773-20210517232946636-1137844347.png                                                        

 

3、ICMP的基本使用方法


ICMP协议的基本使用:ICMP协议的使用是靠各种命令来实现的,下面以ping命令举例,来介绍ping命令的使用和返回的信息。

ping命令的格式基本如下:C:\>ping[-t][-1字节数][-a][-i]IP-Address|target-name    其中 [   ] 中的参数为可选参数。

 

 

以下皆在windows操作系统中,默认情况下发发送四个ping包,如果在ping命令后面加上参数  “-t”  ,系统就会一直ping下去,Cterl+C 可以中断命令,用来调试故障或进行持续连通性测试应用 ,      如图所示:


2387773-20210518083535478-940530516.png

 

在ping命令中加入  “-a”  参数 就可以返回对方主机的主机名,如图所示:

 

2387773-20210518084021958-141726551.png

 

一般情况下ping包的大小为32字节,但是也可以用参数改变ping包的大小,ping 命令中加入参数  “-l”  可以用来测试通信质量,如图所示:

2387773-20210518084525729-1024545330.png

 

 

 

 



相关文章
|
网络架构
ICMP协议(Internet控制消息协议)
本文详细的介绍ICMP协议,内含详细的实例解析,该文你值得拥有。
|
网络协议 网络架构
网络协议与攻击模拟-05-ICMP协议
网络协议与攻击模拟-05-ICMP协议
108 0
|
Linux C语言 C++
Linux ICMP协议实现:C/C++编程指南
ICMP(Internet Control Message Protocol)是网络通信中的重要协议,用于在IP网络中传递错误消息和诊断信息。在Linux系统中,我们可以使用C/C++编程语言来实现基本的ICMP功能,例如发送ICMP回显请求(Ping)和解析ICMP消息。本文将带您深入了解C/C++实现的ICMP协议,包括套接字编程、构造ICMP报文、发送和接收ICMP消息等,以及提供实际的代码示例。
932 1
|
7月前
|
存储 网络协议 算法
基于 Wireshark 分析 ICMP 协议
基于 Wireshark 分析 ICMP 协议
|
3月前
|
网络协议 Unix 网络架构
网际控制报文协议ICMP
网际控制报文协议(ICMP)是TCP/IP体系结构中网际层的关键组件,用于提高IP数据报的成功传输率。ICMP主要处理两类报文:差错报告报文与询问报文。前者包括终点不可达、源点抑制、时间超过、参数问题及重定向等五类;后者则涵盖回送请求/回答及时间戳请求/回答。ICMP广泛应用于检测网络连通性的PING工具和追踪数据包路径的traceroute工具中。两者分别利用ICMP的回送请求报文及差错报告报文实现功能。
102 10
|
4月前
|
网络协议 网络架构
用户态协议栈03-icmp实现
用户态协议栈03-icmp实现
|
4月前
|
监控 安全 网络安全
ICMP 协议详解及其消息格式
【8月更文挑战第20天】
537 0
|
5月前
|
人工智能 缓存 网络协议
网络层之三层交换、icmp协议、arp协议
网络层之三层交换、icmp协议、arp协议
|
5月前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
71 0
|
7月前
|
网络协议 Linux 网络安全
IP 数据包格式 ICMP协议
IP 数据包格式 ICMP协议