Lab 1 - Command Line Networking Tools

Due: Wednesday by the start of class

The purpose of this lab is to become familiar with standard command-line TCP/IP tools that can be used in Unix/Linux systems (with equivalents on other operating systems).

NOTE: Since the first day is a lab day, we will begin this lab with a brief 45-60 minute lecture to cover the syllabus and the basic concepts in this lab. After the lecture, you can break into lab groups of 1-3 students to complete the lab.

There are several command line tools in Unix/Linux systems that can give you information about certain aspects of TCP/IP networking. This lab will investigate the following tools:

dig
This tool gives you information about DNS (domain name) records. The most simple use of dig is to look up the IP address for a given domain name or vis versa. It can also give you much more information, such as the "start of authority" (soa) or "mail exchanger" (mx) for the domain.

Examples:

dig www.google.com
dig -x 136.168.201.112
dig soa www.cs.csub.edu
See "man dig" for more information.
ping
This tool sends a query to the destination server to see if it is still responding to packets. A response to ping means the destination is online. Ping will tell you how long it took for the packets to travel if there is a response. If there is no response, the server may be offline or just blocking ping requests. See "man ping" for more information.

Usage: ping <IP | domain name>

traceroute
This tool attempts to determine the route taken to the destination machine and how long it takes to travel to each node along the route. It is helpful for determining where network connectivity is lost when one cannot connect to a remote machine or for seeing where lag is occuring when a connection is laggy. See "man traceroute" for more information.

Usage: tracreroute <IP | domain name>
traceroute -n <IP | domain name>

Log in to Sleipnir and try these tools. Give different domain names and IP addresses to each one to see what happens.

Writeup

Answer the following questions and upload the writeup to your Moodle account. Use only plain text, Open Office or PDF formats for your writeup.

Each question is worth 2 points.

  1. Write a paragraph about what happened when you tried using these tools with various domain names and IP addresses as suggested above.
  2. The dig command can be used to obtain information from the DNS records for a given domain name or IP address. What is the output for the following commands and what is the difference between them?
    1. dig www.cs.csub.edu
    2. dig soa www.cs.csub.edu
  3. You are getting probes from some host in the 209.9.244.* (Class C) network. Which of the following commands will find the Start of Authority record for that network (the answer section will have an authority server that is NOT a root name server)?
    1. dig soa 224.9.209.in-addr.arpa
    2. dig soa 209.9.224
  4. You are attempting to connect to ftp.foo.com and get the error message
    --- unknown host ftp.foo.com ---
    What is the likely problem and what commands would you use to investigate the problem?
  5. Suppose instead you got the message
    Trying 208.207.151.35 ...
    ... Connection timed out.
    How does this differ from the previous error message? What could be causing the issue? How would you investigate it?