:::info 我们在日常生活中常常使用 ping 指令,那么 ping 指令是基于什么协议?答案是 ICMP

:::

介绍

我们经常使用 ICMP 数据包来去确认我们是否可以到达某个主机以及某些主机是否存活

命令

ping

这是我们最经常使用的一条命令,使用格式为: ping IP

traceroute

该功能的目的是为了帮助我们了解 ICMP 数据包在网络中传输的情况。

WireShark 分析数据包

icmp-tunnel.zip

笔记 Wireshark 过滤器
全局搜索 + icmp
抓住唾手可得的果实的“ICMP”选项:
+ 数据包长度。
+ ICMP 目标地址。
+ ICMP 负载中的封装协议标志。
+ data.len > 64 and icmp

ICMP 请求包:

ICMP - 图1

ICMP 回复包:

ICMP - 图2

扩展

识别操作系统

不同的操作系统对于 ICMP 返回的数据包字节大小不同

Default TTL (Time To Live) Values of Different OS

Windows 防火墙

Windows 防火墙默认阻止 ICMP 回复请求