Adan Lab 3

docx

School

Rowan College of South Jersey, Sewell *

*We aren’t endorsed by this school

Course

213

Subject

Computer Science

Date

Feb 20, 2024

Type

docx

Pages

10

Uploaded by MegaHorse833

Report
Lab #3: DNS Name(s): Tyler Adan Tweaked from Version: 5/17/2012 ©2005-21012, J.F Kurose and K.W. Ross, All Rights Reserved As described in Section 2.5 of the textbook, 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.21 and 2.22 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.5 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. The following 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 dns-prime. poly.edu. Consider the first command: nslookup www.mit.edu 1
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.5 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; see Section 2.5.3 in the text.) 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 name servers. 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: 2
Nslookup www.rowan.edu google-public-dns-a.google.com In this example, we indicate that we want to the query sent to google’s public DNS server google-public-dns-a.google.com rather than the default DNS server defined on your client machine. Thus, the query and reply transaction takes place directly between our querying host and google-public-dns-a.google.com. In this example, the DNS server google-public-dns- a.google.com provides the IP address of the host www.rowan.edu which is a web server for Rowan. 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): For more information about google’s public dns server use this /url: https://developers.google.com/speed/public-dns/docs/using 1. (10 points) Run nslookup to obtain the IP address of a Web server in Asia, such as pku.edu.cn. 3
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
2. (10 points) Run nslookup to determine the authoritative DNS servers for a university in Europe, such as ox.ac.uk. 3. (10 points) Run nslookup using the google-public-dns-a.google.com server and query for the mail servers for Yahoo! Mail (yahoo.com). Use the option –type=MX to get the mail server information. If your query times out, just perform an nslookup mail.yahoo.com to get the ip address of yahoo email. 4
2. ipconfig ipconfig (for Windows) and ifconfig (for Linux/Unix/Mac) 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 want to see all this information about your host, simply enter: 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. 5
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 (the IP address for the computer on which you are running Wireshark) 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. 6
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
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 computers 1 . Answer the following questions: 4. (6 points) Locate the DNS query and response messages. Are they sent over UDP or TCP? UDP (see image below). (Seen in Fig. 1: DNS query & messaged located by UDP). 5. (10 points) What is the destination port for the DNS query message? What is the source port of DNS response message? The destination port for the DNS query message is 53 and the source port of the DNS response is 53. 6. (10 points) 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? It is sent to 150.250.2.13, which is the IP address of one of my local DNS servers. 7
7. (8 points) Examine the DNS query message. What “Type” of DNS query is it? Does the query message contain any “answers”? It is a type A standard query and this query does not contain any answers. 8. (8 points) Examine the DNS response message. How many “answers” are provided? What does each of these answers contain? There were two containing information about the host, the type of address, class, the TTL, the data length, and the IP address. 8
9. (10 points) 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? Yes, as seen in the recent image, the destination address is 150.250.2.13, in this case, this address was provided by the DNS server for www.ietf.org . 9
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
10. (10 points) This web page contains images. Before retrieving each image, does your host issue new DNS queries? No, all images are all loaded from www.ietf.org ; therefore, no additional DNS queries were necessary. 11. (Up to 10 points) What is the most significant thing you learned from this lab and why is it important? The most significant thing that I have learned from this entire lab using DNS, and navigating each important tool that was being used. This is very important because knowing these specific elements can truly guide you through the very hard steps of data networking. What to Turn In Submit your lab work by the due date in our course shell. It should include the answers to 11 questions. Please use complete sentences and with screenshots. 10