Starting from:
$30

$24

Assignment #5 Solution

• Please finish the lab according to this file

– submit the report of lab 5 based on the lab report template.

– submit your source code in zip file. (5.3.zip)

▪ comments is MUST

▪ DO NOT copy paste any existing source code of DNS resolver

Assignment 5.1

• make an DNS query which will invoke the EDNS0

– Screenshot on this command and its output

• capture the packages using Wireshark

– what is the content of this query message

▪ Find the name, type and class of this query

▪ How can you tell this DNS query is based on EDNS0

▪ From this query massage , can it handle DNSSEC security RRs or not

– what is the content of this response message

▪ Is there any answers, what’s the ttl of each answer

Assignment 5.2

▪ Is there any authority RRs, what’s the type of each RR

▪ Is there any special additional RRs with OPT type, what does its ‘Do bit’ say: Does it accept DNSSEC security RRs or not













• Make the query by using query method of “dns resolver”(a python package)

– To query the type A value of www.163.com based on TCP and UDP stream respectively

• capture the related TCP stream and UDP stream using Wireshark

– Screenshot on this two commands .

what’s the default transport lay protocol while invoke DNS query

– Screenshot on the TCP stream of query by TCP.

how many TCP packets are captured in this stream, Which port is used?

– Screenshot on the UDP stream of query by UDP.

how many UDP packets are captured in this stream, Which port is used?

– Is there any difference on DNS query and response message while using TCP and UDP respectively




Assignment 5.3 (Class A Only)




implement a local resolver

• Function:

– Listen and accept DNS queries.

▪ Support common query types: A, AAAA, CNAME, TXT, NS, MX

▪ EDNS implementation is not required.

– Forward query to a upstream DNS resolver (or a public DNS server).

– Check out the response and send response to your clients.

– Maintain a cache of DNS query-response of all results.




• Test method:

– using dig sending query to your resolver

• *comments is MUST

• *DO NOT copy paste any existing source code of DNS resolver.

More products