“The Internet is down” is a symptom, not a diagnosis. Behind it is one broken thing, and it could be the Wi-Fi, a missing address, the router, the provider, DNS or the website itself. The first four guides taught you what each of those is. This one turns them into a method: narrow down who is affected, then run six tests from the bottom up, and stop at the first one that fails. It finds the fault in a couple of minutes, every time, and it's the same method network engineers use.
Most people troubleshoot by guessing: restart the router, turn Wi-Fi off and on, try again, restart the router again. Sometimes that works, and nobody learns why. Three habits replace the guessing:
And one question to ask before all of them: what changed? A network that worked yesterday and doesn't today almost always has a cause that happened in between: a new router, a software update, a moved cable, a changed password, a provider outage.
Why test from the bottom (the cable) up, instead of starting with the website that isn't loading?
Because every layer depends on the ones beneath it, the way every floor of a building depends on the floors under it. If the website won't load, the problem could be on any floor, and testing the top floor only tells you “something below is broken”. Testing from the ground floor up, each test that passes rules out that floor and everything beneath it. The first one that fails is the broken floor, and you know nothing above it can be blamed until it's fixed. Starting at the top gives you a symptom; starting at the bottom gives you the cause.
Before any command, spend thirty seconds on questions. Each one uses a second device or a second connection to rule out a whole area:
Here's the whole method on one page. Each rung is one test from the earlier guides. Climb from the bottom and stop at the first rung that fails:
And here's the same ladder laid along the path your packets travel, showing which part of the path each test actually checks:
On a cable: is the port light on at both ends? On Wi-Fi: netsh wlan show interfaces (Windows), Option-click the Wi-Fi icon (Mac), or nmcli dev wifi list (Linux), as in the Wi-Fi guide. You want State: connected and a signal better than about −70 dBm (Windows: above about 60%). If the signal is weak, move closer before testing anything else; every later test will give strange, intermittent results over a bad link.
ipconfig
Read three lines, as in the Introduction's Step 03:
169.254.: the device asked for an address and nobody answered. DHCP failed. That usually means the router's DHCP is stuck, or on Wi-Fi the join didn't complete properly.192.168.0.x when the router is 192.168.1.1: a leftover manual setting, or you're on a different network than you think. The subnetting guide explains why two streets can't talk directly.The fix for a missing or odd address is to ask again:
ipconfig /release ipconfig /renew
Mac: System Settings → Network → your connection → Details → TCP/IP → Renew DHCP Lease. Linux: nmcli con down id "HomeNet" then nmcli con up id "HomeNet", using your connection's name. If it still comes back as 169.254.x.x, and other devices are also failing to connect, the router's DHCP server is the problem, and restarting the router is justified.
Ping the Default Gateway from ipconfig:
ping 192.168.1.1
Replies mean your device, its connection and your local network all work. If this fails but you do have an address, suspect the Wi-Fi link (rung 1 again, especially signal), a wrong subnet mask, or a router that has frozen: its Wi-Fi light may still be on while its brain isn't answering.
ping 1.1.1.1
This is the most important single test on the page. It goes past your router, through your provider and out to a public server, without using DNS, because you gave it a number. If rung 3 passed and this fails, the fault is between your router and the Internet: the router's connection to the modem, the modem itself, or your provider. Every device in the house will be affected, which Step 02 should already have told you.
To see where the path stops, trace it:
tracert -d 1.1.1.1
Hop 1 answers (your router) and nothing after it does: your provider's side is down or your router isn't connected to it. Compare that with the Introduction's healthy trace, where hop 2 was your provider. (A single * line in the middle of an otherwise working trace is normal, as the Introduction explained; many routers ignore traceroute. What matters is whether anything answers after it.) If you have IPv6, ping -6 2606:4700:4700::1111 tests the same path over IPv6. Occasionally one works when the other doesn't, which is worth telling your provider.
If ping 1.1.1.1 works but websites won't load, it's DNS far more often than anything else. Test it:
nslookup bozcode.com
If that times out or says it can't find the name, ask a different DNS server directly. Put its address after the name:
nslookup bozcode.com 1.1.1.1
This is the key comparison. If the second command works and the first doesn't, the name is fine and so is your Internet connection; your usual DNS server is the problem. That's usually your router passing questions to your provider. Restart the router, or set your device (or the router's DHCP settings) to use 1.1.1.1 and 8.8.8.8. If both fail for this name but work for others, the name itself has a problem, which is the site's to fix.
Devices also remember recent answers. If a site moved or DNS was just fixed, clear the old answers:
| System | Clear the DNS cache |
|---|---|
| Windows | ipconfig /flushdns |
| Mac | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| Linux (systemd) | resolvectl flush-caches |
Why do you ping 1.1.1.1 (a number) before you test bozcode.com (a name)? Wouldn't testing the name check more?
Testing the name checks more, and that's the problem. Pinging a name needs two things to work: the phone book (DNS) and the road (the Internet connection). If it fails, you don't know which one broke. Pinging a number skips the phone book and tests only the road. So you test the road on its own first; if that works, the phone book is the only thing left, and nslookup tests it on its own too. One thing at a time, so each failure points at exactly one cause.
If the name resolves and the Internet works, but one site or app still fails, test the service directly. Browsers hide what went wrong; these commands show it. curl is built into Windows 10 and 11, Mac and Linux:
curl -I https://bozcode.com
On Windows, type curl.exe instead of curl. In Windows PowerShell, plain curl is a nickname for a different command, and -I will confuse it.
The first line is the answer. 200 means the site is working and the problem is in your browser: an extension, the cache, a proxy setting. Try a private window. Other numbers tell you where the fault is:
| You see | It means | Whose problem |
|---|---|---|
200 | OK. The site answered normally. | your browser, if anyone's |
301 / 302 | Moved: the site is sending you to another address. Normal; curl -IL follows it. | nobody |
403 | Forbidden: the site answered and refused you. | the site, or it's blocking your address |
404 | Not found: the site works, but that page doesn't exist. | the link |
500–504 | The site's own servers failed. | the site: wait |
| timeout / connection refused | Nothing answered on that port. | a firewall on the way, or the site is down |
For an app that isn't a website, test whether its port is reachable at all (ports are in the Introduction's Step 05):
Test-NetConnection bozcode.com -Port 443
Mac and Linux: nc -vz bozcode.com 443 prints succeeded or refused. False or a timeout from your network, but success from your phone on mobile data, means something between you and the site is blocking that port: a work network's firewall, a school filter, or occasionally your provider.
Restarting is a legitimate step, not a failure, as long as you know what it fixes. Restarting a device asks for a fresh DHCP lease, clears its DNS cache and resets its network driver. Restarting a router clears a stuck DHCP server, a full connection table, or a router whose software has hung. Restarting a modem makes it re-establish the link to your provider. Unplug it, wait 30 seconds, and give it a few minutes to come back.
Do them in the order the ladder points to, not all at once. Restart the router only if the ladder says the router is at fault. Then run the ladder again, so you know the restart actually fixed it rather than coinciding with it.
The ladder tells you with confidence: rung 3 passes and rung 4 fails, on every device, including one on a cable, after a modem restart. Before you call, check your provider's outage page from your phone. When you do call, what you've already tested will skip most of the script:
Restarting the router often fixes things. So why not always restart it first and skip the ladder?
Because when it works, you've learned nothing, and when it doesn't, you've lost evidence. It's like a car that's making a noise: turning it off and on again might stop the noise, but you still don't know what it was, and it'll be back. Worse, a restart clears exactly the things you'd want to look at (which address the device had, what the router's log said), and it takes everyone in the house offline for a few minutes. Two minutes on the ladder first means that if you do restart, you know why, and you can tell whether it really fixed anything.
Each case is one that happens in real homes and offices. Decide which rung failed and what you'd do before opening the answer.
A laptop shows “No Internet”. ipconfig says its IPv4 address is 169.254.77.12. Every other device is fine.
Rung 2: no address. A 169.254.x.x address means DHCP didn't answer this device. Since everything else is fine, the router's DHCP works, so this device is the problem. Run ipconfig /release and /renew. If that doesn't work, forget the Wi-Fi network and join it again (a wrong saved password can fail quietly), then restart the laptop.
Nothing in the house can load anything. On a wired laptop, ping 192.168.1.1 gets replies; ping 1.1.1.1 times out.
Rung 4: the router can't reach the Internet. The local network is fine (rung 3 passed on a cable, so it isn't Wi-Fi). Check the modem's lights, restart the modem and then the router, and run the ladder again. If it still fails, check the provider's outage page from your phone on mobile data and call them with exactly these results.
Websites won't load on any device, but WhatsApp messages still arrive. ping 1.1.1.1 works. nslookup bozcode.com times out, but nslookup bozcode.com 1.1.1.1 works.
Rung 5: DNS. The Internet works, and the name is fine when asked of a working server, so your usual DNS server (the router, and the provider's servers behind it) is failing. Some apps keep working because they already know the addresses they need. Restart the router; if it recurs, set the router's DNS to 1.1.1.1 and 8.8.8.8.
A new network printer was set up by hand as 192.168.2.50, mask 255.255.255.0. The home network is 192.168.1.0/24. The printer's Wi-Fi light is on, but no computer can find it.
Rung 2/3: wrong street. The printer is connected, but it thinks it lives on 192.168.2, while everything else is on 192.168.1. With a /24 mask those are different streets, so nothing can reach it directly (the subnetting guide's practice problem 5). Set it to DHCP, or give it an address like 192.168.1.50. Pick one outside the router's DHCP range so it never clashes with another device.
Video calls freeze in the back bedroom but are perfect in the living room. A Mac in the bedroom shows RSSI −78 dBm.
Rung 1: weak signal. −78 is well below the −67 usually needed for calls (the Wi-Fi guide's Step 04). The network is fine; the radio link isn't. Move the router to a more central spot, use 2.4 GHz for range, run a cable, or add a mesh or wired access point near the bedroom. A single-radio plug-in extender may raise the bars and still not fix the calls.
One work app won't connect from home, but everything else works. On mobile data it connects fine. Test-NetConnection to its server on port 8443 shows TcpTestSucceeded : False from home.
Rung 6: a port is blocked on the way. The app, its server and your Internet all work (mobile data proves it). Something on your home path is blocking port 8443: a security feature on the router, security software on the laptop, or less often the provider. Check the router's firewall and parental-control settings, and the laptop's security software, one at a time. Tell the app's support team exactly what you found.
| Job | Windows | Mac | Linux |
|---|---|---|---|
| Wi-Fi link & signal | netsh wlan show interfaces | Option-click Wi-Fi | nmcli dev wifi list |
| My addresses | ipconfig /all | ifconfig | ip addr |
| Renew DHCP | ipconfig /renew | Network → Details → Renew DHCP Lease | nmcli con up id "…" |
| My gateway | ipconfig | route -n get default | ip route |
| Reachable? | ping / ping -6 | ping / ping6 | ping / ping -6 |
| Where does it stop? | tracert -d | traceroute -n | traceroute -n or tracepath |
| Neighbours | arp -a | arp -a / ndp -a | ip neigh |
| DNS lookup | nslookup | nslookup | nslookup / dig |
| Clear DNS cache | ipconfig /flushdns | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder | resolvectl flush-caches |
| Is the port open? | Test-NetConnection … -Port | nc -vz | nc -vz |
| What does the site say? | curl.exe -I | curl -I | curl -I |
| Real speed | the site's Boz Bandwidth test: once on a cable, once on Wi-Fi | ||
That's the Networking Basics series. You know what a network is and how a packet crosses the Internet. You can subnet by hand, read Wi-Fi like an engineer and decode IPv6, and now you can find what's broken in any of it. This guide was the other four put to work: every rung of the ladder is an idea from one of them.
169.254.x.x address meansBuild the network you've been troubleshooting: a real router, with every address, DHCP pool and NAT rule set by hand. When something doesn't work, and something will, the ladder is how you'll find it.
Any rung that didn't click? Every one of them is explained from scratch in Guide 1.