For troubleshooting network problems you don’t have to be a network engineer. Most operating systems provide a range of tools that will help you troubleshoot the root cause of most common network problems. If you work from home, chances are that you may be experiencing one of the top 5 work from home network issues.
In this article, I want to share a step-by-step procedure to troubleshoot network problems. This procedure will focus on Windows and Mac OS X systems, being the most populars. This procedure will help you isolate where root-cause originates from. Armed with this information, you can easily figure out what to do next. You can either fix the problem yourself, or escalate it to the appropriate technical support.
What’s the problem?
First of all, we have to define the problem. Ideally, we want to provide as much as accurate information that we can to our friends at the help desk. When you report that the application is slow or that you can’t connect to the network is not enough.
Here is one first question that you need to answer: “If I open my browser, can I access major websites like google.com and cnn.com?”
- Your browser returns a “no internet” page: it appears that you are not connected to the Internet. Continue reading this article.
- You can reach websites but have problems with a specific one, or find that the network is slow. In this case you may need to contact the support team. When doing that, describe what you are experiencing.
Are you connected to the LAN or WLAN?
You need to verify that your Ethernet (LAN) or WiFi interface (WLAN) is connected to the network. In Windows, the network connectivity icon is located in the systems tray section. This section is located on the bottom right portion of the desktop. In Mac OS, this icon is located on the top right bar.
Windows Ethernet interface
Mac OS X Wi-Fi interface
If you are not connected with an Ethernet cable, and the WiFi is not connected either, ask your support team what would the preferred method be. You can also ask some other users in the same location whether they can connect to the network. If you are working from home, then you most probably need to find the wireless credentials that are used by your Internet router.
Open the console
Now, open the command prompt to execute some diagnostic commands. The command prompt in Windows is called Terminal in Mac OS, and shell in Linux systems. No matter the OS, this command-line based interfaces will provide quick access to a range of diagnostic tools.
If you are using Windows, you have type cmd
in the search bar available next to the Start menu icon (Windows 10) or in the Start menu itself (Windows 7 and earlier versions).
If you are in Mac Os X, type terminal
in the search bar accessible on top right by clicking on the magnifying glass icon.
Do you have an IP address?
An IP address is needed for a computer to communicate with other computers. Also, the IP address uniquely identifies a workstation in a network. In this step, we need to verify that we got an IP address from the DHCP server. The DHCP server is a network function responsible to dynamically assign IP addresses to clients.
To verify the IP address on your system, type the following commands into the command prompt:
Windows: ipconfig /all
Mac OS X: ifconfig
In the above screenshot from a Mac OS system you can see that the client has an IP address assigned (10.1.10.113).
If your IP address begins with 169.254, then it was auto-configured by the operating system. This means oftentimes that your client can’t reach the DHCP server. If that’s the problem, then tell your support team that you cannot get a DHCP address.
Can you ping the default gateway?
The default gateway host is responsible for transmitting packets to external networks, including the Internet. In this step, we will first get the IP address of your default gateway, and then verify with the PING command that your workstation can reach it.
To get the IP address of the gateway, type the following command and then hit enter:
Windows: ipconfig /all | find “Default Gateway”
Mac OS X: netstat -rn | grep default
This command should return an IP address.
Then use the ping command to verify if you can reach the gateway, replacing with the IP address you got using the previous command :
Windows: ping
Mac OS X: ping -c 4
For example, a positive ping command to the gateway 192.168.1.1 will look like:
Windows ping output
C:\Users\Windows>ping 192.168.1.1 Pinging 192.168.1.1 with 32 bytes of data: Reply from 192.168.1.1: bytes=32 time=2ms TTL=64 Reply from 192.168.1.1: bytes=32 time=1ms TTL=64 Reply from 192.168.1.1: bytes=32 time=2ms TTL=64 Reply from 192.168.1.1: bytes=32 time=2ms TTL=64 Ping statistics for 192.168.1.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 2ms, Average = 1ms C:\Users\Windows>
Mac OS X ping output
macintosh:~ user$ ping -c 4 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.607 ms 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.778 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.973 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=2.067 ms --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 1.607/1.856/2.067/0.178 ms macintosh:~ user$
Otherwise, if ping times out, it means that you can’t reach the gateway* and you should communicate this to your help desk.
Windows: Request timed out.
Mac OS X: Request timeout for icmp_seq 0
* Keep in mind that some network administrators may disable or block gateways from responding to ping commands.
Do you have DNS servers configured?
A DNS server enables a computer to translate a website name, like www.google.com, into an IP address. This service, called hostname resolution, is needed because, while humans remember names easily, computers need IP addresses to communicate with one another.
To verify if you can resolve hostnames, you can execute a ping command to google.com. When you execute a ping command to a hostname, the operating system performs a resolution and the IP obtained is displayed in the ping command.
Windows
C:\Users\Windows>ping www.google.com Pinging www.google.com [216.58.219.228] with 32 bytes of data: Reply from 216.58.219.228: bytes=32 time=194ms TTL=54 Reply from 216.58.219.228: bytes=32 time=144ms TTL=54
Mac OS X
macintosh:~ user$ ping www.google.com PING www.google.com (172.217.3.4): 56 data bytes 64 bytes from 172.217.3.4: icmp_seq=0 ttl=54 time=15.987 ms 64 bytes from 172.217.3.4: icmp_seq=1 ttl=54 time=21.391 ms
If you don’t see an IP address resolved, then you either don’t have a DNS configured, you cannot reach the DNS, or the DNS server is not working.
To figure out what the problem is, first check if you have a DNS configured.
Windows: ipconfig /all | find “DNS Servers”
Mac OS X: grep nameserver /etc/resolv.conf
When you have one or more DNS servers configured, then verify if you can ping them. If you can’t ping them, report this problem to your help desk. If you can ping them, but you can’t still resolve an IP address as proven in the previous ping command to www.google.com, then you should report this problem to your help desk.
A network troubleshooting cheat sheet
Troubleshooting network problems: the procedure
Here is a quick list of the steps that we followed to troubleshoot network connectivity issues:
- Verify connectivity
- Verify IP address
- Windows:
ipconfig /all
- Mac OS X:
ifconfig
- Windows:
- Verify gateway address
- Windows:
ipconfig /all | find “Default Gateway”
- Mac OS X:
netstat -rn | grep default
- Windows:
- Ping gateway address
- Windows:
ping
- Mac OS X:
ping -c 4
- Windows:
- Verify DNS resolution
- Windows:
ping www.google.com
- Mac OS X:
ping -c 4 www.google.com
- Windows:
- Verify DNS address
- Windows:
ipconfig /all | find “DNS Servers”
- Mac OS X:
grep nameserver /etc/resolv.conf
- Windows:
- Ping DNS address
- Windows:
ping
- Mac OS X:
ping -c 4
- Windows:
Closing remarks on network troubleshooting
I hope this guide will help you start troubleshooting connectivity problems yourself before calling the help desk. If you follow this procedure, you should be able to address the most common network problems. It will also allow you to share more precise information with your help desk team.
Automating network troubleshooting with NetBeez
Network administrators that support several remote users can count on a tool like NetBeez for troubleshooting network problems. By installing a lightweight software client on Windows or Mac OS systems, the administrators tracks a comprehensive set of metrics. These metrics enable the centralized IT to achieve two goals:
- Get proactive notifications when remote users’ connections are slow or stop working
- Easily troubleshoot network problems in an efficient way
If you wish to learn more about automating network troubleshooting, request a product demo or a free trial.