CS 176B -- Network Computing
Homework Assignment #3
Due in class on Thursday, February 15, 2001
Assignment Overview
In this assignment, you will explore the various tools that an end user
can use to discover what is happening in the network. You will experiment
with the following five tools:
- arp
- traceroute
- netstat
- nslookup
- whois
Assignment Details
All of these tools should be available on any machine running a UNIX-based
operating system--including the machines in CSIL.
You will want to make extensive use of the man pages for
each command.
1. arp
- What is the arp table? Why does your machine need this table?
- What is the arp table for your machine? Provide
a print out of your local machine's arp table.
- If you try to add or delete an entry to the arp table what happens?
Why is this the case?
- Without being a superuser, how can you affect (either add, delete,
or change) entries in the arp table? Use a mechanism to add at least one
new host to the arp table and include a printout that is different from
Q1.2.
- How long do entries stay cached in the arp table? Describe a
trail-and-error method to discover the timeout value.
2. traceroute
- Explain in detail how traceroute works.
- Perform a traceroute from your machine to mailhost.iitb.ac.in. Include a copy
of the output and explain what happened including a description of what
each of the fields means.
- What happens if you traceroute to a non-existent machine? Include a copy
of the traceroute. How do you know the machine that you traced to was non-existent
instead of just down or not responding? (NOTE: This question is actually quite
hard and requires some special thought.)
3. netstat
- What is netstat and what is it used for?
- What parameters should you use to show all the TCP connections established?
Include a printout of this list.
- What does netstat -r show? What is noteworthy about the output?
- netstat can be used to display network interface status. What option
of netstat does that? By using netstat, figure out the number of interfaces
on your machine. In the output you will find an interface named lo0
as a loopback interface. Can you say anything about this interface, about
its function?
4. nslookup
- What is the IP address for the machine morticia.cc.gatech.edu?
- What local machine is this information coming from? Why is
it coming from this machine?
- Here is the problem: I want to find the IP address of where my email
to somebody@aol.com goes. What you really need to do is find the ``mail exchanger''
for aol.com. There is an option in nslookup that tells you what the mail
exchanger is for aol.com. Figure out the exact syntax of the format of
this command, and execute it. Now what is the IP address of where my email
to AOL goes?
5. whois
HINT: You will need to use a different server than the default
whois server. One to try is: whois.arin.net.
HINT: Getting whois.arin.net to return information is a challenge.
Make sure you try all combinations of the network name, the host address,
and the network address.
- What class of IP address is my machine (jackson.cs.ucsb.edu)? What is
the network portion of jackson's IP address? Who is the coordinator for this
network?
- Who is the coordinator for the network that morticia.cc.gatech.edu is
on?
- Like the AOL example, I have another friend I send email to at MSN.
Her email address is something@email.msn.com. What can you say about
the coordinator for the MSN email network, i.e. contact info, etc?
Include information about the steps you took and the
results of the queries you made to figure out this information.
- I've always been curious about what happens when I send email
to president@whitehouse.gov. Run the following two commands:
whois -h whois.arin.net 198.137.241.40
whois -h whois.arin.net whitehouse.gov
Where did I get the IP address: 198.137.241.40? What can you say
about the reason that each commands returns a different set of
information?
- What machine has IP address 198.182.196.56? What machines act
as the DNS nameserver for the domain that 198.182.196.56 is in?
What to Turn In
This assignment is to be done individually, though you may
discuss your thoughts and ideas with your classmates.
You only need to turn in a hard copy of your homework (due in class),
but the assignment must be done entirely in some kind of digital
format. Since I will not see the source, you can use anything you
want, for example: HTML, Latex, Word, etc.
Finally, make sure to cut-and-paste the output of the commands
you run when the assignment asks for it.