mediumScenarioConceptMidSeniorStaff
Your application cannot reach a service that should be up. Walk me through diagnosing it from the shell.
6 min readUpdated 2026-08-15
Answer
Short answer
Work up the layers and let each command eliminate a class of cause: resolve the name, check the route, see whether anything is listening, then decide from the failure mode whether packets are being refused, silently dropped, or answered by something that never replies.
Was this answer helpful?
Likely follow-ups
- dig returns the right address but the application still reports a resolution failure. What is different about how it resolves?
- Small requests succeed and large ones hang forever at the same point. What does that pattern implicate?
- You capture on the client and see the SYN leave, and capture on the server and see it arrive, but the client still times out. Where is the fault?
- How would this investigation change if both endpoints were pods in a Kubernetes cluster?
Related questions
- Walk me through everything that happens when you type a URL into the browser and press enter.mediumAlso on dns and tcp6 min
- When would you choose UDP over TCP, given that TCP is reliable and UDP is not?mediumAlso on tcp and networking4 min
- The tooling you would use to fix a network outage runs over the network that is down. How do you break that circularity before it costs you a day?hardAlso on networking and dns6 min
- A service dies with OutOfMemoryError in production. Walk me through diagnosing it.hardAlso on troubleshooting6 min