ping 和 traceroute 命令常常用于进行网络排查错误. 其主要采用的是互联网控制消息协议 Internet Control Message Protocol (ICMP).
ping 命令
-c n
: 设置 ping 执行的次数.-s n
: 设置 ping 发送的 ICMP 数据包的大小, 默认是 56 bytes.-t n
: 设置 ping 执行的 TTL (Time To Live) 数值, 默认是 255, 每经过一个节点减少 1.-W n
: 设置 ping 等待相应对方主机的秒数.
traceroute 命令
traceroute 命令也经常用于网络问题排查, 和 ping 不同的地方在于其可以追踪两个主机之间左右节点的信息.
-n
: 不解析主机名称, 直接用 ip, 速度相对快.-U
: 默认使用 UDP 的方式进行检测, 默认 port 33434.-I
: 使用 ICMP 的方式进行检测.-T
: 使用 TCP 来检测, 默认 port 80. 如果有防火墙设置, 其他的检测方式可能不可用, 需要用 TCP 检测.-w n
: 等待时间, 默认是 5 秒.-p n
: 规定检测所用的端口号.-i dev
: 规定使用设备.
互联网控制消息协议
类型 | 代码 | 状态 | 描述 | 查询 | 差错 |
---|---|---|---|---|---|
0 - Echo Reply | 0 | echo响应 (被程序ping使用) | ● | ||
1 and 2 | 未分配 | 保留 | ● | ||
3 - 目的不可達 | 0 | 目标网络不可达 | ● | ||
1 | 目标主机不可达 | ● | |||
2 | 目标协议不可达 | ● | |||
3 | 目标端口不可达 | ● | |||
4 | 要求分段并设置DF flag标志 | ● | |||
5 | 源路由失败 | ● | |||
6 | 未知的目标网络 | ● | |||
7 | 未知的目标主机 | ● | |||
8 | 源主机隔离(作废不用) | ● | |||
9 | 禁止访问的网络 | ● | |||
10 | 禁止访问的主机 | ● | |||
11 | 对特定的TOS 网络不可达 | ● | |||
12 | 对特定的TOS 主机不可达 | ● | |||
13 | 由于过滤 网络流量被禁止 | ● | |||
14 | 主机越权 | ● | |||
15 | 优先权终止生效 | ● | |||
4 - 源端关闭 | 0 | 弃用 | 源端关闭(拥塞控制) | ● | |
5 - 重定向 | 0 | 重定向网络 | ● | ||
1 | 重定向主机 | ● | |||
2 | 基于TOS 的网络重定向 | ● | |||
3 | 基于TOS 的主机重定向 | ● | |||
6 | 弃用 | 备用主机地址 | |||
7 | 未分配 | 保留 | |||
8 - 请求回显 | 0 | Echo请求 | ● | ||
9 - 路由器通告 | 0 | 路由通告 | ● | ||
10 - 路由器请求 | 0 | 路由器的发现/选择/请求 | ● | ||
11 - ICMP 超时 | 0 | TTL 超时 | ● | ||
1 | 分片重组超时 | ● | |||
12 - 参数问题:错误IP头部 | 0 | IP 报首部参数错误 | ● | ||
1 | 丢失必要选项 | ● | |||
2 | 不支持的长度 | ||||
13 - 时间戳请求 | 0 | 时间戳请求 | ● | ||
14 - 时间戳应答 | 0 | 时间戳应答 | ● | ||
15 - 信息请求 | 0 | 弃用 | 信息请求 | ● | |
16 - 信息应答 | 0 | 弃用 | 信息应答 | ● | |
17 - 地址掩码请求 | 0 | 弃用 | 地址掩码请求 | ● | |
18 - 地址掩码应答 | 0 | 弃用 | 地址掩码应答 | ● | |
19 | 保留 | 因安全原因保留 | |||
20 至 29 | 保留 | Reserved for robustness experiment | |||
30 - Traceroute | 0 | 弃用 | 信息请求 | ||
31 | 弃用 | 数据报转换出错 | |||
32 | 弃用 | 手机网络重定向 | |||
33 | 弃用 | Where-Are-You(originally meant for IPv6) | |||
34 | 弃用 | Here-I-Am(originally meant for IPv6) | |||
35 | 弃用 | Mobile Registration Request | |||
36 | 弃用 | Mobile Registration Reply | |||
37 | 弃用 | Domain Name Request | |||
38 | 弃用 | Domain Name Reply | |||
39 | 弃用 | SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol | |||
40 | Photuris, Security failures | ||||
41 | 实验性的 | ICMP for experimental mobility protocols such as Seamoby [RFC4065] | |||
42 到 255 | 保留 | 保留 | |||
235 | 实验性的 | RFC3692( RFC 4727) | |||
254 | 实验性的 | RFC3692( RFC 4727) | |||
255 | 保留 | 保留 |