Prerequisites: the four foundation lessons and a terminal on your own computer. Outcome: write a connection description that another engineer can reproduce. Allow: 20 minutes.

1. Write the connection you want to inspect

Use an application or lab service that you are authorized to access. Record its hostname, transport protocol, destination port, and the operation that fails. For example: “This client cannot open its UDP media session, but its HTTPS request over TCP succeeds.” Use the real service address for live checks. The documentation addresses in the previous lessons are only examples.

2. Read the interface addresses

Use the command for your operating system: Find the interface that you expect to carry the traffic. Record its address and prefix length. Expect additional entries for loopback, VPNs, containers, and unused interfaces. An address on an interface does not prove that a route selects that interface.

3. Read the DNS result

The following script uses your operating system’s name-resolution configuration. Save it as resolve_host.py:
Run python3 resolve_host.py localhost first. The output should contain a loopback address such as 127.0.0.1 or ::1, depending on local configuration. Then replace localhost with the service hostname. On Windows, use py -3 instead of python3 if necessary. The service result varies with your resolver and the current DNS records. SOCK_DGRAM selects UDP-compatible address records; it does not send a UDP probe or prove that port 443 is reachable.

4. Read the selected route

For IPv4, replace ADDRESS below with one resolved service address. The example commands read routing information; they do not create routes. Record the selected interface, source address, and next hop, when the output provides them. An on-link destination can have no separate gateway. For IPv6 on Linux, use ip -6 route get ADDRESS. For IPv6 on macOS, use route -n get -inet6 ADDRESS. If the VPN receives traffic that you expected on Wi-Fi, compare the matching prefixes. Use the longest-prefix exercise from the routing lesson to explain the result.

5. Separate reachability from application success

Read the application’s connection error and logs. Record the actual resolved address if the application exposes it. It might select a different address from the one you inspected manually. A successful ping checks an ICMP exchange, not your service’s TCP or UDP behavior. A failed ping is also inconclusive when a network filters ICMP. Use the actual client to check the required application connection. Do not conclude that authentication succeeded merely because a socket opened. Use the application’s accepted-session or accepted-operation evidence.

6. Write the result

Complete this template:
Do not paste credentials into the result. The next check should answer one question, such as whether the service received the connection attempt.

Exercise and worked answer

An engineer reports this fictional result:
What does this establish, and what should the engineer check next?
DNS supplied an address, and route selection chose the VPN. The portal request establishes success for that TCP operation only. The evidence does not establish whether the UDP attempt reached the media service. Check the VPN policy and destination service logs for the actual UDP address and port. Keep the hostname and operation fixed while collecting the next result.
Completion check: produce the filled template and explain one conclusion that the collected evidence does not support. The commands changed no network configuration. Delete resolve_host.py if you no longer need it. Next: 101 · Networking fundamentals.