Troubleshooting Network Problems
From Mac Guides
A wide variety of network problems can occur while using your Mac. The causes are just as diverse, however a few techniques can fix a large number of problems.
Contents |
Identifying a Slow Connection
Sometimes, the internet may appear slow, and unresponsive, or webpages tend to load more slowly. The causes may be varied, but if all webpages appear to load equally slow, and you suspect the problem might be on your LAN, try this.
Identifying excessive LAN traffic
- Install a bandwidth monitoring tool, such as MenuMeters. With no internet applications running, it should show zero traffic.
- Use the shell. Type this into the Terminal:
sudo tcpdump -i en1
This will ask for the root password (as it is running through sudo) and will dump out all tcp traffic for the specified interface. "en1" is typically, but not always, the Airport. Typing ctrl-q and ctrl-s will pause and unpause the output. Ideally, you should be able to identify any domain listed in tcpdump's output. Identifying domains is tricky, but look for ".com" and ".net'.
- If tcpdump shows lots of unrecognizable domains, it may mean your computer or a computer on your LAN is running a net-intensive program. Common causes are filesharers (BitTorrent, Acquisition) or spyware (more common on Windows-based machines).
Identifying bad paths to remote sites
Sometimes, a remote website is unresponsive for others, but not the local machine. This is likely due to a bad node in the path between the local and remote machines.
- Open /Applications/Utilities/Network Utility
- Open the Traceroute tab
- Type in the remote website, such as "google.com" and hit Trace
- After a while, you'll see a list of every node between the local machine and remote. The output looks like this:
Traceroute has started ... traceroute: Warning: google.com has multiple addresses; using 72.14.207.99 traceroute to google.com (72.14.207.99), 64 hops max, 40 byte packets 1 10.114.32.1 (10.114.32.1) 914.657 ms 846.880 ms 941.103 ms 2 stagflstag-rtr1-3.se.rr.com (24.26.16.9) 868.670 ms 883.073 ms 509.596 ms 3 pos10-0.tampflerl-rtr2.tampabay.rr.com (65.32.8.25) 370.200 ms 143.648 ms 228.678 ms 4 pos6-0-oc-192.tampflerl-rtr4.tampabay.rr.com (65.32.8.137) 796.923 ms 282.122 ms 893.738 ms 5 pop2-tby-p0-1.atdn.net (66.185.136.185) 1288.203 ms 905.030 ms 456.472 ms 6 bb1-tby-p0-3.atdn.net (66.185.138.208) 67.447 ms 75.024 ms 66.814 ms 7 bb2-atm-p7-0.atdn.net (66.185.152.245) 51.564 ms 321.921 ms 904.427 ms 8 pop2-atm-p5-0.atdn.net (66.185.138.43) 908.132 ms 520.248 ms 100.082 ms 9 google.atdn.net (66.185.147.218) 342.928 ms 53.205 ms 54.449 ms 10 72.14.238.96 (72.14.238.96) 124.733 ms 108.714 ms 686.391 ms 11 72.14.238.233 (72.14.238.233) 922.571 ms 937.112 ms 920.293 ms 12 66.249.94.234 (66.249.94.234) 866.052 ms 941.489 ms 919.744 ms 13 66.249.94.98 (66.249.94.98) 958.012 ms 924.657 ms 931.739 ms 14 72.14.236.181 (72.14.236.181) 970.860 ms 831.862 ms 732.118 ms 15 72.14.236.130 (72.14.236.130) 370.619 ms 822.449 ms 888.695 ms 16 66.249.94.72 (66.249.94.72) 812.530 ms 830.257 ms 624.533 ms 17 72.14.236.130 (72.14.236.130) 343.272 ms 72.14.207.99 (72.14.207.99) 1113.232 ms 962.343 ms
The local machine is first (hop #1) and the remote machine is last (hop #17, in this case). It means the connection to the remote machine went through 17 nodes (computers, routers...). The three numbers following the node name are 3 times. The lower this time is, the better. If a time shows as simply "* * *" it means that node didn't reply to the traceroute request in 5 seconds.
Identifying Internet-related issues
Sometimes, the local net connection will be fine, but no remote sites will respond. Here are some common problems, and solutions
Bad DNS Cache
If some (or all) remote websites fail to respond, and the connection to the internet is valid, the DNS cache may be old or out of date. To reset the cache, and hopefully restore internet conenction, type the following into the Terminal:
sudo lookupd -flushcache
(You'll be asked for the root password, since sudo is being used).
That action has the effect of making all internet queries ask for the actual IP address of the remote server, again, rather than relying on a previously recorded IP address.

