Writing

Destination host unreachable

Published 15 September 2026

This reply did not come from the host you pinged. It came from a router that could not forward your packet any further, and the address it came from is the most useful field on the screen.

Read the source address first

C:\> ping 10.50.0.20

Reply from 10.10.0.1: Destination host unreachable.

10.10.0.1 is doing the talking. Your packet reached that router, the router had nowhere to send it, and it returned an ICMP unreachable message. That single fact splits the problem in half:

On Linux and macOS the same event reads as From 10.10.0.1 icmp_seq=1 Destination Host Unreachable. Same message, same reasoning.

Versus "Request timed out"

They mean opposite things, which is why mistaking one for the other sends people in the wrong direction.

MessageWhat happenedWhere to look
Destination host unreachableSomething answered, and said noRouting, at the device that replied
Request timed outNothing answered at allThe destination, or a firewall silently dropping

Unreachable is the more informative failure. You received a reply, from a known address, with a stated reason. A timeout tells you only that silence came back, and silence is frequently normal, because plenty of hosts are configured not to answer ping at all.

Host unreachable versus network unreachable

Both exist, and the distinction is real. Network unreachable (ICMP type 3, code 0) means the router has no route to that network whatsoever. Host unreachable (type 3, code 1) means it knows the network, believes it is directly attached, and cannot find that specific host on it: usually because ARP got no answer.

So host unreachable from your last-hop router is often a layer 2 problem wearing layer 3 clothing: the machine is off, on a different VLAN, or has a different address than you think.

The order worth working in

  1. Note who replied. That is the device with the problem, or the last one that worked.
  2. Check your own routing table if the reply came from your own address: route print, ip route, or netstat -rn.
  3. Ping the gateway. If that fails too, the problem is local and nothing beyond it matters yet.
  4. Check the ARP table for the destination if it is supposed to be on your own subnet: arp -a. An incomplete entry is the answer.
  5. Traceroute to see how far you get. Do not be alarmed by asterisks in the middle; they usually mean nothing.

Causes, in rough order of how often they turn out to be true

Kodura Network Tools runs ping and traceroute from your iPhone or iPad and reports what the results mean rather than only what they say: including which hop answered and whether a silent hop matters. It also does DNS lookups, TCP port checks and path MTU discovery against the same target, which is the sequence this problem usually needs.

Download on the App Store

If the application says something different

A program will rarely print "destination host unreachable". It receives the same ICMP message and surfaces it in its own words: most often no route to host, which is the socket error behind it, and which distinguishes this case from a refused connection and from a timeout.