这是一篇迁移自 What Does ”!H” Mean in a Traceroute? 的文章。
When analyzing network paths using the traceroute command, you might encounter the symbol !H in the output. This notation indicates a specific type of error encountered during the tracing process.
Explanation of ”!H”
The !H symbol signifies “Host Unreachable”, meaning the network device (router or host) along the path could not forward the probe packet to the target host. This occurs when an intermediate router or the destination device itself returns an ICMP Host Unreachable message (ICMP Type 3, Code 1).
Context of ”!H”
- Traceroute works by sending packets with incrementing TTL (Time-to-Live) values to identify hops between your device and a destination.
- When a hop cannot reach the next device in the path, it responds with an ICMP error, which
tracerouteinterprets and displays. !Hspecifically highlights that the target host itself is unreachable at that point in the path.- If almost all the probes result in some kind of unreachable, traceroute will give up and exit.
While !H is a common error, traceroute uses other symbols to denote different issues. Here are key examples:
-
!N: Network Unreachable- Indicates the router cannot route to the target network.
-
!X: Communication Administratively Prohibited- A firewall or router explicitly blocked the packet.
-
!P: Port Unreachable- The destination port is closed or unreachable.
-
!S: Source Quench- The router temporarily halted packet forwarding due to congestion.
-
!D: Destination Unreachable- A generic error for unreachable destinations.
-
!P: Protocol Unreachable- The target host does not support the protocol (e.g., UDP) used.
In summary, !H in traceroute alerts you to a host-level connectivity issue at a specific hop, aiding in diagnosing network path failures.