Sunteți pe pagina 1din 6

Reţele de Calculatoare - Îndrumar de laborator

Lucrarea de laborator nr.3.


Protocolul DNS

Se ştie că Domain Name System (DNS) traduce hostname-uri în adrese IP. În acest
laborator se vor studia partea utilizatorului care foloseşte DNS. Rolul clientului este simplu:
trimite o cerere către serverul DNS local, şi primeşte un răspuns. Dar multe pachete pot trece
invizibile clienţilor DNS deoarece serverele DNS ierarhizate comunică între ele recursiv sau
iterativ pentru a răspunde cererilor.
În scopul desfăşurării şi înţelegerii acestui laborator este utilă reamintirea câtorva noţiuni
despre servere DNS locale, DNS caching şi mesaje DNS.

Comanda nslookup

Pentru a rula nslookup în Linux/Unix, scrieţi comanda nslookup în linia de comandă.


Pentru Windows, deschideţi “Command Prompt” şi scrieţi nslookup.
Operaţia de bază executată de către nslookup întreabă orice server DNS specificat despre
o înregistrare DNS. Serverul DNS întrebat poate fi un server DNS root, un top-level-domain
server DNS, un server DNS care se ocupa cu autorizaţiile sau un server DNS intermediar. Astfel,
nslookup trimite o întrebare DNS către un anumit server DNS, primeşte un răspuns de la serverul
respectiv, şi tipăreşte rezultatul.

Figura 7 - Rezultatele comenzilor nslookup

18
Reţele de Calculatoare - Îndrumar de laborator

Imaginea din Figura 7 arată rezultatele a trei comenzi independente nslookup. În acest
exemplu, client host-ul are ca furnizor de servicii internet compania RDS, iar serverul local,
default este “dns-cache-2.rdsnet.ro”. La rularea nslookup, dacă nu este specificat nici un server
DNS, atunci nslookup trimite o întrebare către serverul default DNS, care aici este „dns-cache-
2.rdsnet.ro”. Să privim prima comandă:

„nslookup www.unitbv.ro”

În românește, această comandă spune: “te rog trimite-mi adresa IP a gazdei


www.unitbv.ro”. După cum se vede în imagine, răspunsul acestei comenzi arată următoarele:
(1) numele şi adresa IP a serverului DNS care răspunde şi
(2) răspunsul însuşi care este numele host-ului şi adresa IP a www.unitbv.ro. Deşi
răspunsul a venit de la serverul local RDS, se poate ca acest server să fi contactat iterativ alte
servere DNS pentru a afla răspunsul.

Să privim acum a doua comandă:

„nslookup –type=NS unitbv.ro”

Aici am folosit opţiunile “-type=NS” şi domeniul “unitbv.ro”. Astfel, nslookup întreabă o


înregistrare type-NS la serverul DNS default: “te rog trimite-mi numele host-urilor DNS-ului
autorizat pentru unitbv.ro”. Când se foloseşte opţiunea – type, nslookup foloseşte default-ul,
adică întreabă înregistrări type A. Răspunsul, afişat în imaginea de mai sus, indică întâi serverul
DNS care oferă răspunsul (serverul DNS default) împreună cu 3 servere ale Universităţii. Totuşi,
nslookup indică şi faptul că răspunsul este “non-authoritative”, adică acest răspuns a venit mai
degrabă din cache-ul unui server decât de la un server “authoritative” DNS al Universităţii.
Răspunsul mai include şi adresele IP are serverelor DNS “authoritative” ale Universităţii. Chiar
dacă întrebarea NS-type generată de către nslookup nu s-a referit la adresele IP, serverul local
DNS a returnat aceste adrese “gratis” şi nslookup le afișează.

A treia comandă:

“nslookup etc.unitbv.ro ns.unitbv.ro”

Aici se indică faptul că mai degrabă vrem să trimitem întrebarea către serverul DNS
“ns.unitbv.ro” decât către serverul DNS default (dns-cache-2.rdsnet.ro). Astfel, tranzacţia
întrebare-răspuns are loc direct între host-ul care întreabă şi “ns.unitbv.ro”. În exemplul de faţă,
serverul DNS “ns.unitbv.ro” oferă adresa IP a host-ului etc.unitbv.ro care este serverul
Departamentului de Electronică şi Calculatoare.

Acum după aceste exemple, să studiem sintaxa comenzilor nslookup:

“nslookup –option1 –option2 host-to-find dns-server”

19
Reţele de Calculatoare - Îndrumar de laborator

În general, nslookup poate fi rulat cu una, două sau mai multe opţiuni. După cum am
văzut în exemplele de mai sus, serverul dns este şi el opțional; dacă nu-l scriem, întrebarea este
trimisă către serverul local default DNS.

Exerciții:

1. Rulaţi nslookup pentru a obţine adresa IP a unui web server din Asia.
2. Rulaţi nslookup pentru a determina servere “authoritative” DNS din Europa.
3. Rulaţi nslookup astfel încât unul dintre serverele DNS obţinute la punctul 2 să fie
întrebat în legătură cu serverele de mail al Yahoo! Mail

Comanda ipconfig

Comenzile ipconfig (pentru Windows) şi ifconfig (pentru Linux/Unix) sunt printre cele
mai folositoare comenzi, pentru a rezolva probleme de reţea. Vom descrie aici doar ipconfig
pentru ca ifconfig este similar. Ipconfig poate fi folosit pentru a afişa informaţii TCP/IP cum ar fi
adresa dvs., adresa serverului DNS etc.

Scrieţi în Command Prompt: ipconfig \all

Figura 8 - Comanda ipconfig pentru Windows

20
Reţele de Calculatoare - Îndrumar de laborator

Ipconfig poate fi folosit şi la administrarea informaţiilor DNS stocate în host-ul dvs. Ştim
că un host poate păstra în cache înregistrări DNS pe care le-a obţinut recent. Pentru a vedea
aceste înregistrări din cache scrieţi după prompter-ul C:\>:

ipconfig /displaydns

Fiecare intrare arată TTL (Time To Live) care se măsoară în secunde. Pentru a “curăţi”
cache-ul scrieţi:

ipconfig /flushdns

Această comandă şterge toate datele din DNS cache şi reîncarcă datele din fișierul ‘hosts’

DNS captat de Wireshark

Pentru început să capturăm pachetele DNS care sunt generate de un web surfing obişnuit:

- folosiţi ipconfig pentru a şterge DNS cache;


- deschideţi-vă browser-ul şi ștergeți-i cache-ul (la Internet Explorer Tools 
Internet Options, General tab – Delete files);
- porniţi Wireshark şi scrieţi în filtru “ip.addr == adresa_dvs_IP”. Adresa dvs IP
se obţine cu ipconfig. Acest filtru va elimina toate pachetele care nu pleacă de
la şi nu sunt destinate dvs;
- porniţi captura Wireshark;
- vizitaţi pagina http://www.ietf.org;
- opriţi captura.

*** Dacă nu puteţi rula Wireshark descărcaţi arhiva de pe CD si extrageți fișierul dns-
ethereal-trace-1 şi încărcaţi acest fişier in Wireshark.

4. Găsiţi întrebarea DNS şi mesajele de răspuns. Sunt trimise peste UDP sau TCP?
5. Care este portul destinaţie pentru mesajele cerere DNS? Care este portul sursă pentru
mesajele de răspuns DNS?
6. La ce adresa IP este trimis mesajul cerere DNS? Folosiţi ipconfig pentru a vedea
adresa serverului dvs local DNS. Apare aceeaşi adresă IP?
7. Examinaţi mesajul cerere DNS. Ce “fel” de întrebare DNS este? Mesajul întrebare
conţine vreun “răspuns”?
8. Examinaţi mesajul DNS de răspuns. Câte “răspunsuri” sunt oferite? Ce conţine
fiecare răspuns?
9. Priviţi pachetul TCP SYN trimis ulterior de către host. Adresa IP de destinaţie a
pachetului SYN corespunde vreunei adrese IP oferită în mesajul de răspuns DNS?
10. Această pagină web conţine imagini. Înainte de a descărca fiecare imagine, host-ul
face alte cereri DNS?

21
Reţele de Calculatoare - Îndrumar de laborator

Acum să trecem la nslookup (puteți descărca arhiva de pe CD şi extrage fișierul dns-


ethereal-trace-2):

- porniţi captura;
- rulaţi nslookup la www.unitbv.ro;
- opriţi captura.

Trace-ul ar trebui să arate ca în Figura 9:

Figura 9 - Detaliile header-ului şi conţinutul pachetelor pentru comanda nslookup

Se vede că nslookup a trimis 3 cereri DNS şi a primit 3 răspunsuri DNS. În acest


laborator le vom ignora pe primele două, deoarece sunt specifice pentru nslookup şi nu sunt
generate în mod normal de aplicaţii standard Internet. Vom privi ultimele mesajele referitoare la
interogare şi răspuns.

11. Care este portul destinaţie pentru mesajul cerere DNS? Care este portul sursă a
mesajului de răspuns DNS?

22
Reţele de Calculatoare - Îndrumar de laborator

12. La care adresă IP este mesajul cerere DNS trimis? Este aceasta adresa IP a serverului
DNS local?
13. Examinaţi mesajul cerere DNS. Ce “fel” de mesaj cerere este? Conţine vreun
“răspuns” ?
14. Examinaţi mesajul de răspuns DNS. Câte “răspunsuri” sunt oferite? Ce conţine
fiecare dintre aceste răspunsuri?
15. Faceţi un screenshot.

Acum faceţi acelaşi experiment, dar scrieţi comanda:

nslookup –type=NS unitbv.ro

Dacă nu va merge Wireshark folosiţi fişierul dns-ethereal-trace-3 din arhiva aflata pe


CD.

Răspundeţi la următoarele întrebări:

16. La care adresă IP este mesajul cerere DNS trimis? Este aceasta adresa IP a serverului
dvs DNS local?
17. Examinaţi mesajul cerere DNS. Ce “fel” de mesaj cerere este? Conţine vreun
“răspuns” ?
18. Examinaţi mesajul de răspuns DNS. Ce “nameservere” ale Universităţii oferă mesajul
răspuns? Acest răspuns oferă şi adresele IP ale “nameserverelor” Universităţii?
19. Faceți un screenshot.

Acum faceţi experimentul dinainte, dar scrieţi comanda:

nslookup etc.unitbv.ro ns.unitbv.ro

Dacă nu va merge Wireshark folosiţi fişierul dns-ethereal-trace-4 din arhiva menţionată


mai sus.

20. La care adresă IP este mesajul cerere DNS trimis? Este aceasta adresa IP a serverului
dvs DNS local? Dacă nu, care este corespondenta adresei IP?
21. Examinaţi mesajul cerere DNS. Ce “fel” de mesaj cerere este? Conţine vreun
“răspuns” ?
22. Examinaţi mesajul de răspuns DNS. Câte “răspunsuri” sunt oferite? Ce conţine
fiecare dintre răspunsuri?
23. Faceţi un screenshot.

Cuprins

23

S-ar putea să vă placă și