zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Wireshark抓包——ICMP协议分析

协议 分析 抓包 wireshark icmp
2023-06-13 09:12:31 时间

大家好,又见面了,我是你们的朋友全栈君。

内容:使用Wireshark抓包,分析较简单的数据包。

环境:Windows 7,Wireshark。

ping是用来测试网络连通性的命令。

一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

例1:对ping www.baidu.com进行抓包和分析,过程如下:

第一步,确定目标地址,选择www.baidu.com作为目标地址。

第二歩,配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp。

第三步,启动抓包:点击【start】开始抓包,在命令提示符下键入ping www.baidu.com。

第四步,停止抓包后,截取数据。

可以看到windows下ping默认执行四次ping,因此,Wireshark抓到8个ICMP查询报文,具体看一次请求和应答过程。

第五步,分析数据包,选取一个数据包进行分析。

1.报文由IP首部和ICMP报文组成。

蓝色部分为IP首部,共有20字节。

蓝色部分为ICMP报文,共有40字节。

2.Type和Code

通过查询ICMP报文类型可知,Type为8的包为回射请求(Ping请求)

使用相同的方法,查看Echo (ping) reply包,得到type类型为0

通过查询ICMP报文类型可知,Type为0的包为回射应答(Ping应答)

例2:对ping 192.168.100.157进行抓包和分析,过程如下:

第一步,确定目标地址,选择192.168.100.157作为目标地址。

第二歩,配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp。

第三步,启动抓包:点击【start】开始抓包,在命令提示符下键入ping 192.168.100.157。

第四步,停止抓包后,截取数据。

第五步,分析数据包,选取一个数据包进行分析。

每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下:

(1)诊断报文(类型:8,代码0;类型:0代码:0);

(2)目的不可达报文(类型:3,代码0-15);

(3)重定向报文(类型:5,代码:0–4);

(4)超时报文(类型:11,代码:0–1);

(5)信息报文(类型:12–18)。

1)目的地址和源地址:

Ipv6:

Ipv4:

2)Type和Code:

3)Data:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157923.html原文链接:https://javaforall.cn