Wireshark中的ICMP协议包分析

简介: Wireshark可以跟踪网络协议的通讯过程,本节通过ICMP协议,在了解Wireshark使用的基础上,重温ICMP协议的通讯过程。ICMP(Internet Control Message Protocol)Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP是TCP/IP模型中网络层的重要成员,与IP协议、ARP协议、RARP协议及IGMP协议共同构成TCP/IP模型中的网络层。在Wireshark界面,我们可以看到

Wireshark可以跟踪网络协议的通讯过程,本节通过ICMP协议,在了解Wireshark使用的基础上,重温ICMP协议的通讯过程。
ICMP(Internet Control Message Protocol)Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP是TCP/IP模型中网络层的重要成员,与IP协议、ARP协议、RARP协议及IGMP协议共同构成TCP/IP模型中的网络层。
在Wireshark界面,我们可以看到529、531号数据包,就是一对标准的ICMP请求和响应包。
image.png

打开ICMP请求数据包报文,

image.png

打开ICMP响应数据包报文,

image.png
通过分析可知,
1.ICMP协议尽管并不传输数据内容,仍然归于网络层,但是基于ip协议。
2.主机发送一个ICMP Echo Request的包,接受方在可正常响应的情况下,返回一个ICMP Echo Reply。
3.两个数据包都包含了相同的数据内容指令。
4.ICMP请求数据包的数据类型是0,正常响应的数据包类型是8。
ICMP大概分为两类报文:一类是通知出错原因 ;一类是用于诊断查询。
类型及含义如下表:
cc19289cd1a6e7ab0944df65b763cde.png

相关文章
|
2月前
|
存储 网络协议 算法
基于 Wireshark 分析 ICMP 协议
基于 Wireshark 分析 ICMP 协议
|
4天前
|
人工智能 缓存 网络协议
网络层之三层交换、icmp协议、arp协议
网络层之三层交换、icmp协议、arp协议
|
4天前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
10 0
|
2月前
|
网络协议 Linux 网络安全
IP 数据包格式 ICMP协议
IP 数据包格式 ICMP协议
|
2月前
|
域名解析 缓存 网络协议
|
2月前
|
网络协议 API 网络安全
用户态协议栈设计实现udp,arp与icmp协议
用户态协议栈设计实现udp,arp与icmp协议
79 1
|
2月前
|
监控 网络协议 网络安全
ICMP (Internet Control Message Protocol,互联网控制消息协议)
ICMP(Internet Control Message Protocol,互联网控制消息协议)是用于在IP网络中传递控制消息的协议。它通常被用于网络设备之间交换状态信息和错误报告,以及执行网络诊断和故障排除。
93 0
|
11月前
|
网络架构
ICMP协议(Internet控制消息协议)
本文详细的介绍ICMP协议,内含详细的实例解析,该文你值得拥有。
|
10月前
|
网络协议 网络架构
网络协议与攻击模拟-05-ICMP协议
网络协议与攻击模拟-05-ICMP协议
63 0
|
11月前
|
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消息等,以及提供实际的代码示例。
579 1