How to check why a website or server is unreachable
Work through DNS, routing, port and TLS checks with ping, dig, traceroute, curl and ss to find exactly where a connection fails.
Intermediate · about 8 min · Linux, Windows, macOS
"The site is down" can mean DNS, routing, firewall, the service itself or TLS. Testing layer by layer, in order, finds the break in a couple of minutes instead of guessing.
What this guide covers
- 1. Does the name resolve?
- 2. Is the host reachable at all?
- 3. Where does the path break?
- 4. Is the port open?
- 5. What does the server actually answer?
- 6. On the server: is the service listening?
Common pitfalls covered
- Testing from one network only: try a phone on mobile data to rule out local DNS or firewall issues.
- A cached DNS record can point you at a decommissioned server — flush with … or ….
- An expired TLS certificate looks like an outage in browsers but curl will say so explicitly.
Questions answered
- Why does ping fail but the website loads?
- How do I check DNS from the command line?
- How do I know if it is my network or the server?
This is a limited preview. The full walkthrough, command syntax and copy-ready examples are available to signed-in users.