Fault finding 101

Can we formulate a helpful fault finding process for common problems and make them available somewhere (or do we already have this and I need to research better)?

I was thinking about the connection problem I saw recently and wondered how I would check if I had the problem.

Under Windows 10 powershell.

Step 1: Can I ping the IP address? (Test basic connectivity)

> ping 172.30.1.12

Pinging 172.30.1.12 with 32 bytes of data:
Reply from 172.30.1.12: bytes=32 time=2ms TTL=63
...
Ping statistics for 172.30.1.12:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 13ms, Average = 5ms

Step 2: Can I ping the name? (Test DNS resolution)

> ping curlew.acute.local

Pinging curlew.acute.local [172.30.1.12] with 32 bytes of data:
Reply from 172.30.1.12: bytes=32 time=3ms TTL=63
...
Ping statistics for 172.30.1.12:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 3ms, Average = 2ms

Step 3: Is tracert one line? (Test the same LAN segment)

> tracert curlew.acute.local

Tracing route to curlew.acute.local [172.30.1.12]
over a maximum of 30 hops:

  1     3 ms     2 ms     1 ms  gw-sand.acute.local [172.30.1.1]
  2     3 ms     2 ms     2 ms  curlew.acute.local [172.30.1.12]

Trace complete.

So I fail the single segment test and am not getting broadcasts (In my case I don’t want them thanks)

Step 4: Can I connect to the port? (Test for firewall problems)

$ Test-NetConnection curlew.acute.local -Port 55415

ComputerName     : curlew.acute.local
RemoteAddress    : 172.30.1.12
RemotePort       : 55415
InterfaceAlias   : beryl_sandhurst
SourceAddress    : 172.30.240.100
TcpTestSucceeded : True

This would need a different set of tools on other client platforms (eg linux could use nmap to test the port).

I think I am suggesting we create platform specific trouble shooting FAQs that cause the reader to consider:

  • What is my server platform?
  • What is my client platform?
  • Did I pick up the correct sotware?
  • What type of issue do I have?
  • What is an overall success indication?

This should take them to a step by step:

  • Setting to check and what to look for
  • Command to run and what to expect
  • Change to try on failure

This should be given a unique name they can quote when saying what they have tried.

Can anyone improve this suggestion?