大家好,又见面了,我是你们的朋友全栈君。
内容:使用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:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157923.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...