bembry.org
Home / Technology / Inet

Troubleshooting

The following set of notes corresponds to the Troubleshooting module of the Internet Design course, providing students an outline of the information they are expected to understand. The corresponding reading for this module is chapter ten of i-Net+ Study Guide by David Groth, et. al., pages 456-501.

Pre-Testing Web Site

  • Before a web site is made public, it should be tested in a private space to assure that everything works.
  • Private testing may be done on a non-public portion of the regular web server. This option allows the developer to incorporate and test server functions (such as server-side scripting, CGI, and stylesheets), as well as make the site available to others for critique before going public.
  • A staging server, or separate web server for privately testing a web site, may be used if site testing would conflict with the active site if done on a private portion of the active web server.
  • When moving tested files from the private testing area to the public server, be certain to maintain the integrety of all links.
  • Storyboards aid in site development and testing by recording how each page on the site should look and connect to other pages within the site. A tester can then use the storyboard to compare the actual site to the intended plan.
  • Test all links on every page of a site to make sure they function correctly. Software is available to run these tests automatically and return a list of all broken links.
  • Before making a website public, be certain to test it in a variety of browsers. Since browsers are notorious for not supporting the same standards, a site that works well in one browser may be un-readable in another. Some minor code changes can often correct some of these problems.
  • If a page uses CGI scripts or forms, test it by entering valid information, and then test with a wide variety of invalid information (blank entries, overly long entries, garbage text, and so forth) to assure the script handles errors well.
  • Load testing software can help test how well equipped a server is to handle a large volume of traffic to a web site.
  • If the expected volume of traffic on a server is more than the server can handle, a mirror site would be helpful. A mirror site is a separate web server that holds the same web site files as the original. Mirror sites may be used to ease the load on a main server, or to speed transactions by providing geographically closer access to the files.

Troubleshooting

  • In determining and solving a problem, it helps to follow a procedure such as the following:
    1. Identify the exact issue.
    2. Re-create the problem.
    3. Isolate the cause
    4. Formulate a correction
    5. Try the corrective measure
    6. Test the solution
    7. Document the problem and its solution
    8. Give feedback
  • If a user complains about a problem, attempting to recreate the problem can help determine if it was a random and isolated incident, a true problem, or simply a user error.
  • Asking specific questions can help isolate the cause of a problem. If a user is having troubles, determine if they were ever able to perform the procedure, if so what has happened since they were last able to do it, and if the problem is effecting other users as well. Questions along these lines can help to isolate the cause of an error.
  • After a problem has been isolated, determine and write down possible fixes. If possible, rank the fixes in the order of their likelihood of success and try the most likely candidate first. Be sure to keep track of what fixes you have tried and how each attempt turned out, including the fix that actually worked.
  • If a browser encounters a file it is unable to process, it will give an error message.
  • Error messages such as No DNS Entry, Connection Reset by Peer, Server Not Responding, and File Contains No Data indicate a problem communicating with the server. These may be indications of high network traffic, mistyped address, or a more serious problem.
  • HTTP response codes come in four basic varieties to help diagnose the source of a problem:
    • 2nn -- A successful transmission.
    • 3nn -- The file has been moved.
    • 4nn -- An error on the client's part.
    • 5nn -- An error on the server's part
  • If a site is not accessible to anyone, then there is a problem with the connection to the web server.
  • If the site is inaccessible by a group of people, but accessible by others, then there may be a problem with their Internet connection, even if they are able to access other sites. It is possible they have been disconnected from a portion of the Internet.
  • If a user cannot access anything on the Internet, then the problem is with his connection only.
  • Web servers use file permission settings to limit user access. These file permissions determine whether a "general" user is permitted to read, write, or execute a file. If the permissions are set improperly, they may render portions of the website inaccessible.
  • Log files keep track of all of a server's transactions. These log files can be quite useful in identifying the source of a problem.

Network Utilities

  • ARP (Address Resolution Protocol) resolves IP address with hardware (MAC) addresses. The ARP utility displays a table showing which IP addresses correspond to which MAC addresses. This information is very useful for determining if more than one host has been assigned the same address, thus causing conflict.
  • netstat displays the statistics on all TCP/IP transmissions currently running on your machine.
  • The Ping utility simply sends a test message to a given IP address to see if the addressed host is connected and responding.
  • winipcfg and ipconfig are TCP/IP configuration utilities that allow a user to see his IP address configuration and make basic changes.
  • The tracert (trace route) utility actually traces the path taken by a packet to reach its destination. The utility reveals the IP address of every device it passes through and the time it took to be sent on to the next device.
  • Network analyzers are software tools that allow a user to monitor and manipulate the traffic on a local network.

Viruses

  • Viruses are malicious programs that cause damage on a computer system and then spread to other systems.
  • A virus in the wild is on that is currently spreading around a network or the Internet.
  • Viruses come in two main types: macro viruses, which are typically limited to specific applications, and boot sector viruses, which rewrite the boot sector on a hard drive making it appear as if the hard drive itself has been erased.
  • Antivirus programs use definition files to identify known viruses and an engine to scan files, compare them with the known viruses, and clean the files as necessary.
  • Virus definitions should be updated at least monthly.
  • Anti-virus scans may be either on-demand, meaning they are run only when the user specifically requests them (which may mean as part of an automatic maintenance schedule), or on-access, meaning the virus scan is run whenever a file is accessed.
Restricted access