Sometimes the Internet suddenly stops working, a website won't open, or one computer can communicate with another while a different computer cannot.
When something goes wrong in a network, we need a systematic way to find the cause. This process is called Network Troubleshooting.
Network troubleshooting is the process of identifying, diagnosing, and fixing problems that affect network connectivity, performance, or communication.
In simple words:
Network Troubleshooting = Find out why the network isn't working and fix it.
Common Network Problems
Network problems can happen for many different reasons.
Some common problems include:
No Internet connection
Slow network speed
High latency
Packet loss
DNS not working
Incorrect IP configuration
Wi-Fi connection problems
A server being unreachable
Firewall blocking traffic
Faulty cables or network hardware
The important thing is not to randomly change settings. Instead, troubleshoot the problem step by step.
Basic Network Troubleshooting Process
A simple troubleshooting process is:
Identify the Problem
↓
Check Physical Connection
↓
Check IP Configuration
↓
Test Local Connectivity
↓
Test Network Connectivity
↓
Test DNS
↓
Check Applications
↓
Fix and Verify
This approach helps narrow down the problem instead of guessing.
Step 1: Check the Physical Connection
Before checking complicated network settings, start with the basics.
For wired networks, check:
Is the Ethernet cable connected?
Are link/activity lights working?
Is the switch powered on?
Is the network interface enabled?
For Wi-Fi, check:
Is Wi-Fi enabled?
Are you connected to the correct network?
Is the signal strong enough?
Is Airplane Mode disabled?
Sometimes the solution really is as simple as reconnecting a cable.
Step 2: Check IP Configuration
Every device communicating over an IP network needs appropriate network configuration.
A typical device may have:
IP Address
Subnet Mask / Prefix
Default Gateway
DNS Server
For example:
IP Address: 192.168.1.20
Subnet: 192.168.1.0/24
Gateway: 192.168.1.1
DNS Server: 192.168.1.1
If the device has an incorrect IP address, subnet configuration, or gateway, communication may fail.
Useful Command: ipconfig / ifconfig / ip
Different operating systems provide different commands for checking network configuration.
Windows
ipconfig
Linux
ip addr
macOS
Commands such as:
ifconfig
can be used to inspect network interfaces.
These commands help you see whether your device has received an IP address and other network information.
Step 3: Test the Local Network
Once you've checked your configuration, test whether your device can reach its default gateway.
For example:
Computer
↓
Default Gateway
↓
Local Network
You can commonly use ping for this.
ping 192.168.1.1
If the gateway responds, your device can likely communicate with that local network endpoint.
If it doesn't, the problem may be related to:
Wi-Fi
Ethernet
IP configuration
VLAN configuration
Local firewall rules
Router or access-point issues
Step 4: Test Internet Connectivity
If the local gateway is reachable, test whether you can reach a remote IP address.
For example:
Computer
↓
Gateway
↓
Internet
↓
Remote Host
You can use:
ping 8.8.8.8
If the remote IP is reachable but websites still don't open, DNS could be the problem.
Keep in mind that some hosts intentionally block or deprioritize ICMP, so a failed ping does not always mean that the host or Internet connection is completely unavailable.
Step 5: Check DNS
Suppose this works:
ping 8.8.8.8
but this doesn't:
ping example.com
One possible cause is DNS resolution failure.
You can test DNS using tools such as:
nslookup example.com
or:
dig example.com
If DNS is not working, your device may be unable to translate:
example.com
↓
IP Address
even though the network itself is working.
Step 6: Check Routing
Sometimes the device has a valid IP address but doesn't have a correct path to the destination.
You can inspect the routing table using commands such as:
Windows
route print
Linux
ip route
macOS
netstat -rn
Look for:
Default route
Incorrect routes
Missing routes
Unexpected gateways
Routing problems can prevent packets from reaching the correct network.
Step 7: Use Traceroute
Sometimes you know that a destination is unreachable, but you don't know where the path is failing.
Tools such as traceroute can help show the path packets take through intermediate routers.
Windows
tracert example.com
Linux/macOS
traceroute example.com
A simplified result might look like:
Your PC
↓
Router 1
↓
Router 2
↓
Router 3
↓
Destination
This can help identify where connectivity problems may be occurring.
However, some routers intentionally don't respond to traceroute probes, so missing responses do not necessarily indicate a failure.
Step 8: Check Ports and Services
Sometimes the network is working, but a particular service is unavailable.
For example:
Server
├── Port 22 → SSH
├── Port 80 → HTTP
└── Port 443 → HTTPS
If a website isn't working, you can investigate whether the expected service is reachable.
Tools such as curl, nc, or platform-specific connection-testing tools can help test services.
For example:
curl https://example.com
This can help distinguish between a general network problem and an application/service problem.
Step 9: Check Firewall Rules
A firewall can sometimes block legitimate traffic.
For example:
Client
↓
Firewall
X
Server
If other network connectivity works but one specific service does not, check whether a firewall rule is blocking:
Source address
Destination address
Port
Protocol
Application traffic
Always verify the intended security policy before changing firewall rules.
Step 10: Check the Application
Sometimes the network is perfectly fine and the problem is actually with the application or server.
For example:
Internet ✓
DNS ✓
Routing ✓
Port ✓
↓
Application ✗
The application may be:
Crashed
Misconfigured
Overloaded
Unable to connect to its database
Returning an error
This is why troubleshooting should move from the lower layers toward the application instead of assuming every problem is a network problem.
Useful Network Troubleshooting Commands
Here are some commonly used tools:
Command/Tool | Purpose |
|---|---|
| View Windows IP configuration |
| View IP configuration on Linux |
| Inspect interfaces on many Unix-like systems |
| Test reachability |
| Trace a path on Windows |
| Trace a path on Linux/macOS |
| Perform DNS queries |
| Detailed DNS queries |
| View/manage routing information |
| View/manage Linux routing |
| Test application protocols such as HTTP/HTTPS |
The exact commands available depend on the operating system.
Troubleshooting Using Layers
One of the best ways to troubleshoot networks is to think in layers.
For example:
Application
↓
Transport
↓
Network
↓
Data Link
↓
Physical
You can move from the bottom upward.
Physical
Check:
Cables
Power
Wi-Fi signal
Network interface
Data Link
Check:
Ethernet/Wi-Fi connection
VLAN configuration
MAC-level connectivity
Network
Check:
IP address
Subnet
Gateway
Routing
Transport
Check:
TCP/UDP
Ports
Firewall rules
Application
Check:
DNS
HTTP/HTTPS
Server configuration
Application errors
This layered approach makes troubleshooting much more organized.
Example: Website Is Not Opening
Suppose your browser cannot open a website.
Don't immediately assume the website is down.
Try:
1. Check Wi-Fi/Ethernet
↓
2. Check IP address
↓
3. Ping gateway
↓
4. Test Internet connectivity
↓
5. Test DNS
↓
6. Check HTTPS connectivity
↓
7. Check browser/application
This gradually narrows down the possible cause.
For example:
Gateway works ✓
Internet IP works ✓
DNS fails ✗
Now you have a strong clue that the problem is related to DNS, rather than your Wi-Fi connection.
Conclusion
Network troubleshooting is a systematic process of finding and fixing network problems.
The most important rule is:
Don't guess—test.
Start with the simplest possibilities and gradually move toward more complex ones.
Remember the basic troubleshooting flow:
Physical Connection → IP Configuration → Gateway → Internet → DNS → Routing → Ports → Application
And some useful tools are:
ping → Test reachability
traceroute/tracert → Examine the network path
nslookup/dig → Test DNS
ipconfig/ip/ifconfig → Check network configuration
curl → Test application-level connectivity
Once you develop the habit of troubleshooting step by step and layer by layer, even complicated network problems become much easier to understand and diagnose.