5 labs due in two days naming accordingly from lab3 to lab7. basicly due in two days to be mostly important
wireshark_dns_v7.0.pdf

wireshark_dhcp_v7.0.pdf

wireshark_udp_v7.0.pdf

wireshark_tcp_v7.0.pdf

wireshark_icmp_v7.0.pdf

Unformatted Attachment Preview

Wireshark Lab: DNS v7.0
Supplement to Computer Networking: A Top-Down
Approach, 7th ed., J.F. Kurose and K.W. Ross
“Tell me and I forget. Show me and I remember. Involve me and I
understand.” Chinese proverb
© 2005-2016, J.F Kurose and K.W. Ross, All Rights Reserved
As described in Section 2.4 of the text1, the Domain Name System (DNS) translates
hostnames to IP addresses, fulfilling a critical role in the Internet infrastructure. In this
lab, we’ll take a closer look at the client side of DNS. Recall that the client’s role in the
DNS is relatively simple – a client sends a query to its local DNS server, and receives a
response back. As shown in Figures 2.19 and 2.20 in the textbook, much can go on
“under the covers,” invisible to the DNS clients, as the hierarchical DNS servers
communicate with each other to either recursively or iteratively resolve the client’s DNS
query. From the DNS client’s standpoint, however, the protocol is quite simple – a query
is formulated to the local DNS server and a response is received from that server.
Before beginning this lab, you’ll probably want to review DNS by reading Section 2.4 of
the text. In particular, you may want to review the material on local DNS servers, DNS
caching, DNS records and messages, and the TYPE field in the DNS record.
1. nslookup
In this lab, we’ll make extensive use of the nslookup tool, which is available in most
Linux/Unix and Microsoft platforms today. To run nslookup in Linux/Unix, you just type
the nslookup command on the command line. To run it in Windows, open the Command
Prompt and run nslookup on the command line.
In it is most basic operation, nslookup tool allows the host running the tool to query any
specified DNS server for a DNS record. The queried DNS server can be a root DNS
server, a top-level-domain DNS server, an authoritative DNS server, or an intermediate
DNS server (see the textbook for definitions of these terms). To accomplish this task,
nslookup sends a DNS query to the specified DNS server, receives a DNS reply from that
same DNS server, and displays the result.
1
References to figures and sections are for the 7th edition of our text, Computer Networks, A Top-down
Approach, 7th ed., J.F. Kurose and K.W. Ross, Addison-Wesley/Pearson, 2016.
The above screenshot shows the results of three independent nslookup commands
(displayed in the Windows Command Prompt). In this example, the client host is located
on the campus of Polytechnic University in Brooklyn, where the default local DNS server
is dns-prime.poly.edu. When running nslookup, if no DNS server is specified, then
nslookup sends the query to the default DNS server, which in this case is dnsprime.poly.edu. Consider the first command:
nslookup www.mit.edu
In words, this command is saying “please send me the IP address for the host
www.mit.edu”. As shown in the screenshot, the response from this command provides
two pieces of information: (1) the name and IP address of the DNS server that provides
the answer; and (2) the answer itself, which is the host name and IP address of
www.mit.edu. Although the response came from the local DNS server at Polytechnic
University, it is quite possible that this local DNS server iteratively contacted several
other DNS servers to get the answer, as described in Section 2.4 of the textbook.
Now consider the second command:
nslookup –type=NS mit.edu
In this example, we have provided the option “-type=NS” and the domain “mit.edu”. This
causes nslookup to send a query for a type-NS record to the default local DNS server. In
words, the query is saying, “please send me the host names of the authoritative DNS for
mit.edu”. (When the –type option is not used, nslookup uses the default, which is to query
for type A records.) The answer, displayed in the above screenshot, first indicates the
DNS server that is providing the answer (which is the default local DNS server) along
with three MIT nameservers. Each of these servers is indeed an authoritative DNS server
for the hosts on the MIT campus. However, nslookup also indicates that the answer is
“non-authoritative,” meaning that this answer came from the cache of some server rather
than from an authoritative MIT DNS server. Finally, the answer also includes the IP
addresses of the authoritative DNS servers at MIT. (Even though the type-NS query
generated by nslookup did not explicitly ask for the IP addresses, the local DNS server
returned these “for free” and nslookup displays the result.)
Now finally consider the third command:
nslookup www.aiit.or.kr bitsy.mit.edu
In this example, we indicate that we want to the query sent to the DNS server
bitsy.mit.edu rather than to the default DNS server (dns-prime.poly.edu). Thus, the query
and reply transaction takes place directly between our querying host and bitsy.mit.edu. In
this example, the DNS server bitsy.mit.edu provides the IP address of the host
www.aiit.or.kr, which is a web server at the Advanced Institute of Information
Technology (in Korea).
Now that we have gone through a few illustrative examples, you are perhaps wondering
about the general syntax of nslookup commands. The syntax is:
nslookup –option1 –option2 host-to-find dns-server
In general, nslookup can be run with zero, one, two or more options. And as we have seen
in the above examples, the dns-server is optional as well; if it is not supplied, the query is
sent to the default local DNS server.
Now that we have provided an overview of nslookup, it is time for you to test drive it
yourself. Do the following (and write down the results):
1. Run nslookup to obtain the IP address of a Web server in Asia. What is the IP
address of that server?
2. Run nslookup to determine the authoritative DNS servers for a university in
Europe.
3. Run nslookup so that one of the DNS servers obtained in Question 2 is queried for
the mail servers for Yahoo! mail. What is its IP address?
2. ipconfig
ipconfig (for Windows) and ifconfig (for Linux/Unix) are among the most useful little
utilities in your host, especially for debugging network issues. Here we’ll only describe
ipconfig, although the Linux/Unix ifconfig is very similar. ipconfig can be used to show
your current TCP/IP information, including your address, DNS server addresses, adapter
type and so on. For example, if you all this information about your host simply by
entering
ipconfig all
into the Command Prompt, as shown in the following screenshot.
ipconfig is also very useful for managing the DNS information stored in your host. In
Section 2.5 we learned that a host can cache DNS records it recently obtained. To see
these cached records, after the prompt C:> provide the following command:
ipconfig /displaydns
Each entry shows the remaining Time to Live (TTL) in seconds. To clear the cache, enter
ipconfig /flushdns
Flushing the DNS cache clears all entries and reloads the entries from the hosts file.
3. Tracing DNS with Wireshark
Now that we are familiar with nslookup and ipconfig, we’re ready to get down to some
serious business. Let’s first capture the DNS packets that are generated by ordinary Websurfing activity.






Use ipconfig to empty the DNS cache in your host.
Open your browser and empty your browser cache. (With Internet Explorer,
go to Tools menu and select Internet Options; then in the General tab select
Delete Files.)
Open Wireshark and enter “ip.addr == your_IP_address” into the filter, where
you obtain your_IP_address with ipconfig. This filter removes all packets that
neither originate nor are destined to your host.
Start packet capture in Wireshark.
With your browser, visit the Web page: http://www.ietf.org
Stop packet capture.
If you are unable to run Wireshark on a live network connection, you can download a
packet trace file that was captured while following the steps above on one of the author’s
computers2. Answer the following questions. Whenever possible, when answering a
question below, you should hand in a printout of the packet(s) within the trace that you
used to answer the question asked. Annotate the printout3 to explain your answer. To
print a packet, use File->Print, choose Selected packet only, choose Packet summary
line, and select the minimum amount of packet detail that you need to answer the
question.
4. Locate the DNS query and response messages. Are then sent over UDP or TCP?
5. What is the destination port for the DNS query message? What is the source port
of DNS response message?
6. To what IP address is the DNS query message sent? Use ipconfig to determine the
IP address of your local DNS server. Are these two IP addresses the same?
7. Examine the DNS query message. What “Type” of DNS query is it? Does the
query message contain any “answers”?
8. Examine the DNS response message. How many “answers” are provided? What
do each of these answers contain?
2
Download the zip file http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zipand extract the file dnsethereal-trace-1. The traces in this zip file were collected by Wireshark running on one of the author’s
computers, while performing the steps indicated in the Wireshark lab. Once you have downloaded the
trace, you can load it into Wireshark and view the trace using the File pull down menu, choosing Open, and
then selecting the dns-ethereal-trace-1 trace file.
3
What do we mean by “annotate”? If you hand in a paper copy, please highlight where in the printout
you’ve found the answer and add some text (preferably with a colored pen) noting what you found in what
you ‘ve highlight. If you hand in an electronic copy, it would be great if you could also highlight and
annotate.
9. Consider the subsequent TCP SYN packet sent by your host. Does the destination
IP address of the SYN packet correspond to any of the IP addresses provided in
the DNS response message?
10. This web page contains images. Before retrieving each image, does your host
issue new DNS queries?
Now let’s play with nslookup4.



Start packet capture.
Do an nslookup on www.mit.edu
Stop packet capture.
You should get a trace that looks something like the following:  
We see from the above screenshot that nslookup actually sent three DNS queries and
received three DNS responses. For the purpose of this assignment, in answering the
following questions, ignore the first two sets of queries/responses, as they are specific to
nslookup and are not normally generated by standard Internet applications. You should
instead focus on the last query and response messages.
4
If you are unable to run Wireshark and capture a trace file, use the trace file dns-ethereal-trace-2 in the
zip file http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip
11. What is the destination port for the DNS query message? What is the source port
of DNS response message?
12. To what IP address is the DNS query message sent? Is this the IP address of your
default local DNS server?
13. Examine the DNS query message. What “Type” of DNS query is it? Does the
query message contain any “answers”?
14. Examine the DNS response message. How many “answers” are provided? What
do each of these answers contain?
15. Provide a screenshot.
Now repeat the previous experiment, but instead issue the command:
nslookup –type=NS mit.edu
Answer the following questions5 :
16. To what IP address is the DNS query message sent? Is this the IP address of your
default local DNS server?
17. Examine the DNS query message. What “Type” of DNS query is it? Does the
query message contain any “answers”?
18. Examine the DNS response message. What MIT nameservers does the response
message provide? Does this response message also provide the IP addresses of the
MIT namesers?
19. Provide a screenshot.
Now repeat the previous experiment, but instead issue the command:
nslookup www.aiit.or.kr bitsy.mit.edu
Answer the following questions6:
20. To what IP address is the DNS query message sent? Is this the IP address of your
default local DNS server? If not, what does the IP address correspond to?
21. Examine the DNS query message. What “Type” of DNS query is it? Does the
query message contain any “answers”?
22. Examine the DNS response message. How many “answers” are provided? What
does each of these answers contain?
23. Provide a screenshot.
5
If you are unable to run Wireshark and capture a trace file, use the trace file dns-ethereal-trace-3 in the
zip file http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip
6
If you are unable to run Wireshark and capture a trace file, use the trace file dns-ethereal-trace-4 in the
zip file http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip
Wireshark Lab: DHCP v7.0
Supplement to Computer Networking: A Top-Down
Approach, 7th ed., J.F. Kurose and K.W. Ross
“Tell me and I forget. Show me and I remember. Involve me and I
understand.” Chinese proverb
© 2005-2016, J.F Kurose and K.W. Ross, All Rights Reserved
In this lab, we’ll take a quick look at DHCP. DHCP is covered in Section 4.4.3 of the
text1. Recall that DHCP is used extensively in corporate, university and home-network
wired and wireless LANs to dynamically assign IP addresses to hosts (as well as to
configure other network configuration information).
This lab is brief, as we’ll only examine the DHCP packets captured by a host. If you also
have administrative access to your DHCP server, you may want to repeat this lab after
making some configuration changes (such as the lease time). If you have a router at
home, you most likely can configure your DHCP server. Because many linux/Unix
machines (especially those that serve many users) have a static IP address and because
manipulating DHCP on such machines typically requires super-user privileges, we’ll only
present a Windows version of this lab below.
DHCP Experiment
In order to observe DHCP in action, we’ll perform several DHCP-related commands and
capture the DHCP messages exchanged as a result of executing these commands. Do the
following2:
1. Begin by opening the Windows Command Prompt application (which can be
found in your Accessories folder). As shown in Figure 1, enter
“ipconfig /release”. The executable for ipconfig is in C:windowssystem32. This
1
References to figures and sections are for the 7th edition of our text, Computer Networks, A Top-down
Approach, 7th ed., J.F. Kurose and K.W. Ross, Addison-Wesley/Pearson, 2016.
2
If you are unable to run Wireshark live on a computer, you can download the zip file
http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip and extract the file dhcp-ethereal-trace-1. The
traces in this zip file were collected by Wireshark running on one of the author’s computers, while
performing the steps indicated in the Wireshark lab. Once you have downloaded the trace, you can load it
into Wireshark and view the trace using the File pull down menu, choosing Open, and then selecting the
dhcp-ethereal-trace-1 trace file. You can then use this trace file to answer the questions below.
2.
3.
4.
5.
6.
7.
command releases your current IP address, so that your host’s IP address becomes
0.0.0.0.
Start up the Wireshark packet sniffer, as described in the introductory Wireshark
lab and begin Wireshark packet capture.
Now go back to the Windows Command Prompt and enter “ipconfig /renew”.
This instructs your host to obtain a network configuration, including a new IP
address. In Figure 1, the host obtains the IP address 192.168.1.108
Wait until the “ipconfig /renew” has terminated. Then enter the same command
“ipconfig /renew” again.
When the second “ipconfig /renew” terminates, enter the command
“ipconfig/release” to release the previously-allocated IP address to your computer.
Finally, enter “ipconfig /renew” to again be allocated an IP address for your
computer.
Stop Wireshark packet capture.
Figure 1 Command Prompt window showing sequence of ipconfig commands that you
should enter.
Now let’s take a look at the resulting Wireshark window. To see only the DHCP packets,
enter into the filter field “bootp”. (DHCP derives from an older protocol called BOOTP.
Both BOOTP and DHCP use the same port numbers, 67 and 68. To see DHCP packets in
the current version of Wireshark, you need to enter “bootp” and not “dhcp” in the filter.)
We see from Figure 2 that the first ipconfig renew command caused four DHCP packets
to be generated: a DHCP Discover packet, a DHCP Offer packet, a DHCP Request
packet, and a DHCP ACK packet.
Figure 2 Wireshark window with first DHCP packet – the DHCP Discover packet –
expanded.
What to Hand In:
You should hand in a screen shot of the Command Prompt window similar to Figure 1
above. Whenever possible, when answering a question below, you should hand in a
printout of the packet(s) within the trace that you used to answer the question asked.
Annotate the printout3 to explain your answer. To print a packet, use File->Print, choose
Selected packet only, choose Packet summary line, and select the minimum amount of
packet detail that you need to answer the question.
Answer the following questions:
1. Are DHCP messages sent over UDP or TCP?
2. Draw a timing datagram illustrating the sequence of the first four-packet
Discover/Offer/Request/ACK DHCP exchange between the client and server. For
each packet, indicated the source and destination port numbers. Are the port
numbers the same as in the example given in this lab assignment?
3. What is the link-layer (e.g., Ethernet) address of your host?
4. What values in the DHCP discover message differentiate this message from the
DHCP request message?
5. What is the value of the Transaction-ID in each of the first four
(Discover/Offer/Request/ACK) DHCP messages? What are the values of the
Transaction-ID in the second set (Request/ACK) set of DHCP messages? What is
the purpose of the Transaction-ID field?
6. A host uses DHCP to obtain an IP address, among other things. But a host’s IP
address is not confirmed until the end of the four-message exchange! If the IP
address is not set until the end of the four-message exchange, then what values are
used in the IP datagrams in the four-message exchange? For each of the four
DHCP messages (Discover/Offer/Request/ACK DHCP), indicate the source and
destination IP addresses that are carried in the encapsulating IP datagram.
7. What is the IP address of your DHCP server?
8. What IP address is the DHCP server offering to your host in the DHCP Offer
message? Indicate which DHCP message contains the offered DHCP address.
9. In the example screenshot in this assignment, there is no relay agent between the
host and the DHCP server. What values in the trace indicate the absence of a relay
agent? Is there a relay agent in your experiment? If so what is the IP address of
the agent?
10. Explain the purpose of the router and subnet mask lines in the DHCP offer
message.
11. In the DHCP trace file noted in footnote 2, the DHCP server offers a specific IP
address to the client (see also question 8. above). In the client’s response to the
3
What do we mean by “annotate”? If you hand in a paper copy, please highlight where in the printout
you’ve found the answer and add some text (preferably with a colored pen) noting what you found in what
you ‘ve highlight. If you hand in an electronic copy, it would be great if you could also highlight and
annotate.
first server OFFER message, does the client accept this IP address? Where in the
client’s RESPONSE is the client’s requested address?
12. Explain the purpose of the lease time. How long is the lease time in your
experiment?
13. What is the purpose of the DHCP release message? Does the DHCP server issue
an acknowledgment of receipt of the client’s DHCP request? What would happen
if the client’s DHCP release message is lost?
14. Clear the bootp filter from your Wire …
Purchase answer to see full
attachment