Skip to main content
Engineering LibreTexts

10-F.11: How to Troubleshoot Networking Problems

  • Page ID
    1.3 Given a scenario, configure and verify network connection parameters.
    4.1 Given a scenario, analyze system properties and remediate accordingly.

    Where to Start?

    To begin with remember, keep it simple. That is a good place to start. Some simple things to check out:

    • Is the device powered on - no, really - make sure.
    • Is the cable plugged into the network interface - most NICs show a green light if it is seeing a network signal.
    • Is the other end of the cable plugged into an appropriate place - either a wall plate, or a switch/router.
    • Is the NIC in an "up" state?

    If these things all check out then move on to some of the tools that have been talked about:

    • Attempt to ping a host - first try one on the local network, then one out on the Internet.
    • Attempt an IP based ping - if this works but the hostname doesn't ping the name resolution is not set properly.
    • Test multiple systems on the network segment - do they all fail the same?

    The ping Command

    The ping command is used to check the network connectivity between host and server/host. This command takes IP address and sends a data packet to the specified address with the message “PING” and gets a response from the server/host. This time is recorded and is called latency. Fast ping low latency means faster connection. Ping is generally measured in milliseconds. Every modern operating system has this ping pre-installed.


    ping [ OPTIONS ] [ IP address ]

    In the following example we see four replies from the host - notice the icmp_seq number: this is the sequence number of the reply, then at the end is the round trip time for the ping request and the reply to get back to the sender.

    pbmac@pbmac-server $ ping
    PING ( 56(84) bytes of data.
    64 bytes from ( icmp_seq=1 ttl=114 time=17.6 ms
    64 bytes from ( icmp_seq=2 ttl=114 time=23.2 ms
    64 bytes from ( icmp_seq=3 ttl=114 time=21.7 ms
    64 bytes from ( icmp_seq=4 ttl=114 time=20.1 ms
    --- ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 17.684/20.484/23.285/2.804 ms

    The traceroute / tracepath Commands

    The traceroute command prints the route that a packet takes to reach the specified host. This command is useful when you want to know about the route and about all the hops that a packet takes. The image below depicts how traceroute command is used to reach the Google( host from the local machine, and it also prints details about all the hops that it visits in between. The tracepath command is used to trace paths to destination discovering MTU along this path. It uses UDP port or some random port. It is similar to traceroute, but it does not require superuser privileges and has no fancy options.


    traceroute / tracepath [ OPTIONS ] [ IP address ]

    Here is an example of traceroute output. It shows the hostname/IP address and then three round trip time (RTT) for the packet to reach that point and return to your computer. This is listed in milliseconds. There are three columns because the traceroute sends three separate signal packets. This is to display consistency, or a lack thereof, in the route that is being traced.

    pbmac@pbmac-server $ traceroute
    traceroute to (, 30 hops max, 60 byte packets
     1  _gateway (  3.411 ms  3.405 ms  3.395 ms
     2 (  12.338 ms  12.339 ms  12.330 ms
     3 (  12.974 ms  12.965 ms  12.953 ms
     4 (  13.836 ms  13.827 ms  13.816 ms

    Adapted from:
    "PING Command in Linux with examples" by him0000, Geeks for Geeks is licensed under CC BY-SA 4.0
    "traceroute command in Linux with Examples" by codstar, Geeks for Geeks is licensed under CC BY-SA 4.0

    • Was this article helpful?