Browsing the Internet is great fun and very useful. Just watch as I instantly transfer millions of dollars from my secret Swiss bank account to...wait a minute, what’s a “404 Server Not Found Error”? What’s going on? Did the DSL go out? Is the NSA closing in on me? Help! Where’s my money?
If you’ve used the Internet for any length of time, this scene might seem all too familiar (give or take a Swiss bank account). Using the Web on a modern computer is an experience that would have astounded people just 20 years ago, yet we can’t escape that it’s a staggeringly complex system. If something goes wrong at any step along the way between your fingertips and a server in cyberspace, the whole system comes to a crashing halt. Where do you begin to find and fix the problem?
In this chapter, we show you the basic strategies to use when tracking down Internet problems, and we briefly discuss some of the diagnostic tools available to help you pinpoint the trouble.
A functioning Internet connection depends on an entire chain of hardware and software components that reaches all the way from the tips of your fingers to a computer that might be halfway around the world. Troubleshooting is a real detective’s art, and it’s based more on methodical tracking down of potential suspect problems than intuition. If something goes wrong, you have to go through each component, asking “Is this the one that’s causing the problem?”
Windows 10 comes with network-troubleshooting capabilities that, in some cases, can identify and repair problems automatically. If you encounter Internet connection problems—especially problems using high-speed broadband Internet service—try these steps:
1. If you are using high-speed Internet, power off your Internet modem and/or router, wait 5 seconds, and then power them back on. Wait about 30 seconds and see whether the problem has gone away. (If this does work, but if you find yourself having do it more than, say, once a month, contact your ISP and tell them.)
2. Right-click the network icon at the right end of the taskbar and select Open Network and Sharing Center. If there is a problem with your Internet connection, it will say so under View Your Active Networks and Windows also displays a yellow exclamation point icon in the taskbar, as shown in Figure 17.1.
3. Right-click the network icon in the taskbar again, and select Troubleshoot Problems.
4. If Windows displays a message indicating that it might be able to repair the problem, click Apply This Fix.
5. If that does not solve the problem, go back to the Network and Sharing Center. At the bottom of the page, click Troubleshoot Problems and then click Internet Connections. Click Advanced, Run as Administrator, and then click Next. Follow the troubleshooting wizard’s prompts from there.
If the wizard’s diagnosis is “The DNS server isn’t responding,” and if you connect to the Internet through a shared connection using a router, this most likely means that your connection sharing router can’t connect to the Internet. The problem is either with the router, your cable or DSL modem, or its connection to the Internet. Use your preferred web browser to connect to your sharing router, as described later in the chapter under “Identifying Network Hardware Problems.” If you can bring up the router’s setup web page, the router itself is working, so your best bet is to contact your ISP for further assistance.
6. If this does not fix the problem, and if your computer connects to the Internet through a wireless or wired Ethernet connection, go back to the Network and Sharing Center. Click Troubleshoot Problems and select Network Adapter. Again, click Advanced, Run As Administrator, and then click Next.
If the problem occurred because your computer failed to obtain its network settings from a router, this procedure will often work. In many cases, though, you’ll need to locate the problem yourself, using good, old-fashioned Sherlock Holmes–style deductive reasoning. For example, let’s assume you are having trouble using a certain website. Here are some scenarios:
You can view some of its pages but not others, or you see text displayed but not the streaming video or sound. In this case, you know that your Internet connection itself is working because something does appear. The problem, then, is that the video or sound application isn’t working. You might want to check the index to see whether we discuss the application in this book. You might also check the application’s built-in help pages. If the application was one that you downloaded or purchased, check the manufacturer’s website for support information or an updated software version.
Nothing on this particular site is responding. In this case, see if you can view any other website. Try www.google.com, www.quepublishing.com, your ISP’s website, or your local newspaper’s website.
If you get a response from even one other website, again, your Internet connection is fine. The problem is most likely with the site you’re trying to use or with your ISP. Check to be sure that your web browser isn’t set up to block access to the site you’re interested in. (See Chapter 15, “Web Browsing with Windows 10,” for more help on this topic.)
You also might try using a different web browser. In some cases, it’s not a bad Internet connection but a compatibility issue that makes a website show just a blank screen. If you’re using Microsoft Edge, try Internet Explorer, or vice versa. Google Chrome, Opera, and Firefox are other good alternatives.
You can’t view any web pages on any site. If this is the case, you know that your Internet connection itself is at fault. This chapter can help you find out what’s wrong.
To that end, Figures 17.2 and 17.3 show flowcharts to help direct you to the source of the problem. The first chart is for broadband or LAN Internet connections; the second is for those who still have to use a dial-up modem connection to an ISP. If you’re having Internet connection trouble, follow the appropriate flowchart for your type of connection. The endpoints in each flowchart suggest places to look for trouble. We discuss these in the sections that follow.
Software configuration problems can easily be the cause of Internet connection problems. It’s fairly simple to determine that this is the problem: You can’t make any Internet connection whatsoever, although the Device Manager says your network card or modem seems to be working correctly. The potential problems depend on the type of Internet connection you use.
If your computer connects directly to a cable or DSL modem, via an Ethernet cable between the modem and your computer, follow these steps:
1. To open a Command Prompt window, press Windows Logo+R, type cmd, and press Enter. Type ipconfig /all and press Enter. Be sure that the IP address and DNS information for the network card that connects to your broadband modem are accurate. Your ISP’s tech support people can help you confirm this.
Note
If you have DSL or cable service but your computer connects to a router and the router connects to the DSL or cable modem, don’t follow these instructions. Instead, see “Identifying Network Hardware Problems,” later in this chapter.
2. If your provider requires you to “sign on” before using the Internet, you’ll be using a sort of “dial-up” connection, except that the connection is made digitally over the DSL network. This is called Point-to-Point Protocol over Ethernet, or PPPoE. You set up this connection using the Broadband (PPPoE) option, as described in Chapter 14, “Getting Connected.”
If this is the case, and if you use a network adapter to connect to your DSL modem, the IP address displayed for the network adapter is used to communicate with your DSL modem. Be sure to check with your ISP to be certain that this computer-to-modem connection is configured correctly; if it’s not, you won’t be able to make the connection to your ISP.
3. Establishing the DSL connection whenever you need it is just a bit awkward: Click the Network icon in the taskbar and at the top of the pop-up panel click the name of the DSL connection. This brings up the Network Settings window. Touch the name of the DSL connection again here, and then click Connect.
When the logon process has completed, ipconfig /all
should show a “dial-up” connection with a different IP address. This is your real, public Internet address for the duration of the connection.
If you connect to the Internet via a wired or wireless connection on your LAN, the first question is, can you communicate with other computers on your LAN? To test this, you should use the ping
command.
Open a Command Prompt window, right-click the Start button and select Command Prompt or Windows PowerShell, whichever appears. Type the command ipconfig and press Enter. The output of ipconfig
lists a number called a gateway address. To test the connection to your gateway, type ping followed by the gateway address and then press Enter. For example:
ping 192.168.0.1
This tests the connection to the computer or router that is sharing its Internet connection. If ping
says “Request timed out” or “Transmit failed” instead of listing four successful replies, you have a LAN problem that you need to fix first.
Tip
Windows has a diagnostic and repair function that resets all the software components of a LAN connection, including the DHCP address assignment. This often solves LAN problems. To use it, first power off your Internet modem and/or router for a few seconds, then turn it back on. Wait about a minute. Open the Network Connections page by right-clicking the Start button and selecting Network Connections. Find your LAN or wireless connection, right-click it, and select Diagnose. If a problem is identified, follow the instructions or select the Reset option.
If you are using a wireless network connection, be sure your wireless connection is working correctly, that you are connected to the correct wireless network, and that you have the correct network key entered. Chapter 22, “Troubleshooting Your Network,” is devoted to LAN troubleshooting.
If you can communicate with other computers on the LAN but not the Internet, can anyone else on your LAN access the Internet? If no one can, the problem is in your LAN’s connection to the Internet. Follow these steps to see what’s wrong:
Note
If you have a laptop, see if yours has a little slide or pushbutton switch that turns the internal wireless adapter on and off. It’s easy for that switch to get turned off. If you have a tablet or laptop that has a software switch (often labeled Airplane Mode), be sure that you haven’t inadvertently turned on Airplane Mode. That shuts down your network and Internet connections.
1. Open a Command Prompt window and type ipconfig /all to view your TCP/IP settings. The output appears similar to that shown in Listing 17.1. (The Tunnel Adapter entries are not important here and are not shown.)
Windows IP Configuration
Host Name . . . . . . . . . . . . .: MyComputer
Primary Dns Suffix . . . . . . . .:
Node Type . . . . . . . . . . . . .: Hybrid
IP Routing Enabled. . . . . . . . .: No
WINS Proxy Enabled. . . . . . . . .: No
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . .:
Description . . . . . . . . . . . .: Intel PCI Fast Ethernet Adapter
Physical Address. . . . . . . . . .: 00-03-FF-D0-CA-5F
DHCP Enabled. . . . . . . . . . . .: Yes
Autoconfiguration Enabled . . . . .: Yes
Link-local IPv6 Address . . . . . .: fe80::8014:cfc7:9a98:cdfe%10(Preferred)
IPv4 Address. . . . . . . . . . . .: 192.168.1.106(Preferred)
Subnet Mask . . . . . . . . . . . .: 255.255.255.0
Lease Obtained. . . . . . . . . . .: Thursday, August 21, 2015 3:13:14 PM
Lease Expires . . . . . . . . . . .: Friday, August 22, 2015 3:13:26 PM
Default Gateway . . . . . . . . . .: 192.168.1.1
DHCP Server . . . . . . . . . . . .: 192.168.1.1
DHCPv6 IAID . . . . . . . . . . . .: 252182567
DHCPv6 Client DUID. . . . . . . . .: 00-01-03-01-37-F2-EB-C2-38-3C-40-F3-02-38
DNS Servers . . . . . . . . . . . .: 192.168.1.1
NetBIOS over Tcpip. . . . . . . . .: Enabled
Within the output, check the following:
The DNS suffix search list and the connection-specific DNS suffix should be set correctly for your ISP’s domain name or your company’s domain name. (This is helpful but not crucial.) It can also be left blank.
The IP address should be appropriate for your LAN. The address might be 192.168.0.xxx or something similar, possibly with a different number in place of the 0.
If your IP address starts with the numbers 169.254, your router or the sharing computer was not running when you booted up your computer, or it is no longer set up to share its connection. It is not doing its job of passing out network IP addresses to other computers. Get the sharing computer or router restarted, and then skip to step 2.
The default gateway address should be the IP address of your router or sharing computer, usually something similar to 192.168.0.1 or 192.168.1.1.
The default gateway address and your IP address should be identical for the first few sets of numbers, corresponding to those parts of the subnet mask that are set to 255. That is, both might start with 192.168.0 or 192.168.1.
If your computer gets its IP address information automatically, DHCP Enabled should be set to Yes. If your computer has its IP address information entered manually, no DHCP server should be listed.
If you’re using connection sharing, the DNS server address will be 192.168.0.1. Otherwise, the DNS server numbers should be those provided by your ISP or network administrator. Some routers substitute their own address as the DNS server address and do DNS lookups themselves, as in the example shown here.
If your computer gets its settings automatically or uses a shared connection, continue with the next two steps.
2. Be sure the router or sharing computer is running. Then press Windows Logo+X or right-click the Start button, then select Network Connections to open the Network Connections window. Next, right-click your Local Area Connection icon and select Diagnose. This might lead you through solving the problem. Alternatively, view the Network and Sharing Center and select Troubleshoot Problems from the task list. Select Internet Connections and then repeat the process, selecting Network Adapter.
3. Repeat the ipconfig
command and see whether the correct information appears now. If it does, you’re all set. If not, the master computer or the router is not supplying the information described previously and needs to be set correctly before you can proceed.
These steps should take care of any software configuration problems. If not one of these steps indicates or solves the problem, check that your network or modem hardware is functioning correctly.
If you suspect hardware as the source of your Internet connection problems, check the following:
Log on using an account with Administrator privileges. Right-click the Start button and select Device Manager. Look for any yellow exclamation point (!) icons in the device list. If your network adapter is marked with this trouble indicator, you must solve the hardware problem before continuing. If the device needs an updated driver, see “Updating a Device Driver” in Chapter 28, “Managing Your Hardware,” for more information.
Right-click the Start button, select Event Viewer, and look in the Administrative Events section under Custom Views for any potentially informative error messages that might indicate a hardware problem.
Use ipconfig
on each of your computers to check that all the computers on your LAN have the same gateway and network mask values, and similar but distinct IP addresses.
If your LAN has indicator lights on the network cards and switches, open a Command Prompt window and type
ping -t x.x.x.x
where x.x.x.x is your network’s default gateway address. (This might be something similar to 192.168.0.1.) This forces your computer to transmit data once per second. Confirm that the indicator lights blink on your network adapter and the switch, if you have one. This test might point out a cabling problem.
If your switch or network adapter’s indicator doesn’t flash, you might have a bad network adapter, the wrong driver might be installed, or you might have configured the card incorrectly. You can stop the ping
test by pressing Ctrl+C when you’re finished checking.
If you use a router for a broadband (DSL or cable) connection, your router might provide further assistance. To access the router, follow these steps:
1. Open a Command Prompt window by pressing Windows Logo+R, typing cmd, and pressing Enter.
2. Type the command ipconfig and press Enter.
3. Note the gateway address. It will be something along the lines of 192.168.x.x, such as 192.168.0.1.
4. Open your preferred web browser. In the Address bar, type http:// followed by the gateway address. This will look something like http://192.168.0.1.
5. You are prompted to enter the administrative username and password for your router. Each manufacturer has a default name and password, which you can find in the router’s user manual. You might also have changed it when you installed it. (You might try username admin and password admin.)
6. Most routers have a Status menu item that displays the status of the router’s Internet connection. If it says that it can’t connect, you might have an incorrect PPPoE username or password entered. Or it might have dropped the connection. In this case, there might be a Connect button you can click, or you might want to just power off and then power on the router.
If you use a dial-up Internet connection, the next section can help you diagnose modem problems.
If you think you are connected to your ISP but you still can’t communicate, you can use some of the command-line tools provided with Windows to trace TCP/IP problems. (TCP/IP is the network language or protocol used by the Internet.)
To run the command-line utilities, first open a Command Prompt window (press Windows Logo+R, type cmd, and press Enter). Then type in the commands as we describe them later. If you’re not familiar with a particular command-line utility, type the command name followed by /?, as in this example:
ping /?
Now, let’s go through some of the TCP/IP diagnostic and command-line utilities provided with Windows.
Note
If you’re a Unix devotee, you’ll find these utilities familiar, if not identical, to their Unix counterparts. If you’re new to TCP/IP networking or debugging, you might find these utilities a little unfriendly. (Welcome to the world of networking!)
ipconfig
is one of the most useful command-line utilities provided with Windows because it displays the current IP address information for each of your computer’s network adapters and active dial-up connections. On networks that assign addresses automatically, ipconfig
can tell you what your computer’s IP address is, if you ever need to know it.
Within an open Command Prompt window, the command ipconfig
prints the following information (of course the IP, subnet, and gateway information ipconfig
provides will be different for your computer, and you might see a dial-up connection listed instead of a network adapter):
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::8014:cfc7:9a98:cdfe%10
IPv4 Address. . . . . . . . . . . : 192.168.0.106
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
(You can ignore the Tunnel Adapter information; this is part of the Version 6 Internet Protocol system, which is used only on large, managed corporate networks.)
If you type the command
ipconfig /all
Windows displays additional information about your network settings, including the information shown in Table 17.1.
ipconfig
displays most of the information that can be set in the Network and Dial-Up Connection Properties dialog box, but it shows their real-world values. This makes it an invaluable “first stop” when troubleshooting any network problem. If you determine that an Internet connection problem lies in your equipment somewhere (because you cannot access any Internet destinations), typing ipconfig /all can tell you whether your network setup is correct. You need this information at hand before calling your ISP for assistance.
If you try to browse the Internet or share files with other computers on your LAN and get no response, the reason could be that the other computer isn’t receiving your data or isn’t responding. After ipconfig
, ping
is the most useful tool to determine where your Internet connection or your network has stopped working.
Tip
You can type ping x.x.x.x, replacing x.x.x.x with the default gateway address or the address of any other operational computer on the Internet or your network (if applicable), and in an instant, you will know whether your dial-up or high-speed modem, computer, network hardware, and cabling are operating properly. If echoes come back, the physical part of your network is functioning properly. If they don’t, you can use tracert
and other tools (explained later in this chapter) to see why.
Here’s how it works:
1. The ping
command sends a few packets of data to any computer you specify.
2. The other computer should immediately send these packets back to you.
3. ping
lets you know whether the packets come back.
Therefore, ping
tests the low-level communication between two computers. If ping
works, you know that your network wiring, TCP/IP software, and any routers in between you and the other computer are working. ping
takes several options that can customize the type and amount of output it reports back to you. Three especially useful variations of these options exist; the first two are
ping hostname
where hostname is the name of one of the computers on your network, and
ping nnn.nnn.nnn.nnn
where nnn.nnn.nnn.nnn is a computer’s numeric IP address, as discovered by ipconfig
. That is, you can ping a computer either by its name or by its IP address. These variations transmit four packets to the host or IP address you specify and tell you whether they return. This command returns the following information:
C:> ping www.mycompany.com
Pinging sumatra.mycompany.com [202.222.132.163] with 32 bytes of data:
Reply from 202.222.132.163: bytes=32 time<10ms TTL=32
Reply from 202.222.132.163: bytes=32 time<10ms TTL=32
Reply from 202.222.132.163: bytes=32 time<10ms TTL=32
Reply from 202.222.132.163: bytes=32 time<10ms TTL=32
In this example, the fact that the reply packets came back tells us that the computer can communicate with www.mycompany.com. It also tells us that everything in between my computer and mycompany.com is working.
The third useful variation is to add the -t
option. This makes ping
run endlessly once per second until you press Ctrl+C. This capability is especially helpful if you’re looking at indicator lights on your network hub, changing cables, and so on. The endless testing lets you just watch the screen to see whether any changes you make cause a difference.
Note
It’s not uncommon for one packet of the four to be lost; when the Internet gets congested, sometimes ping
packets are discarded as unimportant. If any come back, the intervening networks are working. It’s also not unusual for the name that appears after “pinging” to be different from what you typed. Some computers have alternative names.
ping
is a great quick test of connectivity to any location. If the ping
test fails, use tracert
to tell you where the problem is. ping
is a good, quick tool to use to discover whether an Internet site is alive. (However, some large companies have made their servers not respond to ping
tests. For example, ping www.microsoft.com
doesn’t work ever, even with a good Internet connection. It’s not just that Microsoft got tired of being the first site everyone thought of to test their Internet connections; malicious people also can use ping
to suck up all of a company’s Internet bandwidth.)
The tracert
command is similar to ping
: It sends packets to a remote host and sees whether packets return. However, tracert
adds a wrinkle: it checks the connectivity to each individual router in the path between you and the remote host. (Routers are the devices that connect one network to another. The Internet itself is the conglomeration of a few million networks all connected by routers.) If your computer and Internet connection are working but you still can’t reach some or all Internet sites, tracert
can help you find the blockage.
In the output of tracert
, the address it tests first is your local network’s gateway (if you connect to the Internet via a high-speed connection or a LAN) or the modem-answering equipment at your ISP’s office (if you’re using a dial-up connection). If this first address responds, you know that your modem, LAN, or broadband connection is working. If the connection stops after two or three routers, the problem is in your ISP’s network. If the problem occurs farther out, there might be an Internet outage somewhere else in the country.
Here’s an example that shows the route between my network and the fictitious web server www.fictitious.net. Typing
tracert www.fictitious.net
Tracing route to www.fictitious.com [204.179.107.3]
over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms 190.mycompany.com [202.201.200.190]
2 <10 ms <10 ms 10 ms 129.mycompany.com [202.201.200.129]
3 20 ms 20 ms 20 ms w001.z216112073.sjc-ca.dsl.cnc.net [217.112.73.1]
4 10 ms 10 ms 10 ms 206.83.66.153
5 10 ms 10 ms 10 ms rt001f0801.sjc-ca.concentric.net [206.83.90.161]
6 10 ms 20 ms 20 ms us-ca-sjc-core2-f5-0.rtr.concentric.net [205.158.11.133]
7 10 ms 20 ms 10 ms us-ca-sjc-core1-g4-0-0.rtr.concentric.net [205.158.10.2]
8 10 ms 20 ms 20 ms us-ca-pa-core1-a9-0d1.rtr.concentric.net [205.158.11.14]
9 10 ms 20 ms 20 ms ATM2-0-0.br2.pao1.ALTER.NET [137.39.23.189]
10 10 ms 20 ms 20 ms 125.ATM3-0.XR1.PAO1.ALTER.NET [152.63.49.170]
11 10 ms 10 ms 20 ms 289.at-1-0-0.XR3.SCL1.ALTER.NET [152.63.49.98]
12 20 ms 20 ms 20 ms 295.ATM8-0-0.GW2.SCL1.ALTER.NET [152.63.48.113]
13 20 ms 20 ms 20 ms 2250-gw.customer.ALTER.NET [157.130.193.14]
14 41 ms 30 ms 20 ms www.fictitious.com [204.179.107.3]
Trace complete.
You can see that between my computer and this web server, data passes through 13 intermediate routers owned by two ISPs.
You should be aware of a couple of tracert
oddities. First, notice in the example that on the command line I typed www.fictitious.net, but tracert
printed www.fictitious.com
. That’s not unusual. Web servers sometimes have alternative names. tracert
starts with a reverse name lookup to find the canonical (primary) name for a given IP address.
Tip
As mentioned at the start of the chapter, when your Internet connection is working, run tracert
to trace the path between your computer and a few Internet hosts. Print and save the listings. Someday when you’re having Internet problems, you can use these listings as a baseline reference. It’s very helpful to know whether packets are stopping in your LAN, in your ISP’s network, or beyond when you pick up the phone to yell about it.
You might run into another glitch as well. For security reasons, many organizations use firewall software or devices, which block tracert
packets at the firewall between their LAN and the Internet. In these instances, tracert
will never reach its intended destination, even when regular communications are working correctly. Instead, you’ll see an endless list that looks similar to this:
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
This continues up to the tracert
limit of 30 probes. If this happens, just press Ctrl+C to cancel the test. If tracert
could reach routers outside your own LAN or PC, your equipment and Internet connection are fine—and that’s all you can directly control.
In addition to the utilities provided with Windows, you can use some third-party tools to help diagnose your connection and gather Internet information. In the following sections we describe some web-based utilities.
If you are using a router, your network uses one “public” IP address to communicate with the Internet, using a mechanism called Network Address Translation (NAT). The public address is different from the private one assigned to your computer. It’s not always easy or convenient to find out your public IP address from your router. Solution: Just open www.whatismyip.com in your web browser and you’ll see your public address in a flash.
To find out how NAT works, see “NAT and Internet Connection Sharing,” p. 416.
Ever wondered how to find the real-world transfer rate of your Internet connection? There are several speed test websites that you can use, but we like www.speedtest.net (click Begin Test, not Start Now or Start Scan) and www.dslreports.com, where you need to click Tools and then Speed Test. You’ll get valid results only if you perform the test while your computer and other computers on your network are sitting idle, not downloading or streaming content.
As discussed earlier, the tracert
program investigates the path that data you send through the Internet takes to reach another location. Interestingly, data coming back to you can take a different path, depending on the way your ISP has set up its own internal network.
It’s handy to know the path data takes coming to you. If you record this information while your Internet connection is working and subsequently run into trouble, you can have a friend perform a tracert
to you. (You need to give him your IP address, which you can find using the ipconfig
command.) If the results differ, you might be able to tell whether the problem is with your computer, your ISP, or the Internet.
You can visit www.traceroute.org for a list of hundreds of web servers that can perform a traceroute
test from their site to you. Don’t be surprised if the test results take awhile to appear; these tests can take a minute or longer.
3.135.194.130