Assignment 2: Diagnose a broken connection
Goal: apply the bottom-up troubleshooting model (Lesson 4) and the TCP/port concepts (Lesson 3) to figure out why a connection fails — and prove it with evidence, not guesses.
Where: from the Jumpbox. You'll probe a few real lab services and one deliberately-wrong target.
Tasks
- Confirm a working service. Pick a known-good service (e.g. Gitea on
10.100.100.2:3000). Show, with commands, that: the host is reachable, the port is open, and a full request succeeds. Note which command answered which question. - Listening sockets. On a host you can access, list every TCP port that is listening, with the owning process. Identify at least two services and the port each uses.
- Refused vs timeout. Produce both failure modes on purpose and capture the output:
- a connection refused (hit an IP that's up but a port where nothing listens), and
- a timeout (hit an address that nothing answers — e.g. an unused address on the subnet, or a blocked port). Explain what each result tells you about where the problem is.
- Walk the stack. For one of your failures, write out the bottom-up checklist (local → routing → naming → transport → application) and mark how far up the stack you got before it broke.
Deliverable
A short markdown "incident note" with: the commands run, their output (trimmed), and for each failure a one-line conclusion ("the host is up but nothing is listening on port X, so the service is down/misconfigured").
Acceptance criteria — you're done when:
- For the working service, you show three distinct checks (reachable / port open / full request) and say which tool answered which.
- You list listening sockets with process names and correctly identify ≥2 services + ports.
- You produced a genuine "connection refused" and a genuine "timeout", with output, and correctly explained the difference between them.
- Your stack-walk identifies the layer at which the failure occurred (not just "it didn't work").
- Every conclusion is supported by command output a grader could reproduce.
Hints
ping,traceroute,nc -vz host port,ss -tlnp,curl -v,getent hosts.- A port with nothing listening on a live host → refused. A silent/unused address or a firewall drop → timeout. Re-read Lesson 3 §3 and Lesson 4 §4 if those don't feel obvious yet.
- Don't fabricate output — the whole point is evidence. If a step surprises you, that surprise is the lesson.
No comments to display
No comments to display