Testowanie systemu DNS

Z Systemy operacyjne i sieci komputerowe
Przejdź do nawigacji Przejdź do wyszukiwania

Poniżej opisano polecenia sieciowe wykorzystywane do testowania sytemu DNS.

PING

Podstawowe polecenie sprawdzające komunikację. Zwraca adres IP. Użycie w Windows i linuksach jest identyczne.


PING w MS Windows

C:\Users\jarek>ping soisk.info

Pinging soisk.info [31.186.86.189] with 32 bytes of data:
Reply from 31.186.86.189: bytes=32 time=24ms TTL=55
Reply from 31.186.86.189: bytes=32 time=24ms TTL=55
Reply from 31.186.86.189: bytes=32 time=20ms TTL=55
Reply from 31.186.86.189: bytes=32 time=42ms TTL=55

Ping statistics for 31.186.86.189:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 20ms, Maximum = 42ms, Average = 27ms

PING w linuksie

uczen@uczen-VirtualBox:~$ ping soisk.info
PING soisk.info (31.186.86.189) 56(84) bytes of data.
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=1 ttl=55 time=19.2 ms
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=2 ttl=55 time=29.5 ms
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=3 ttl=55 time=19.1 ms
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=4 ttl=55 time=20.3 ms
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=6 ttl=55 time=53.8 ms
64 bytes from cl2.netmark.pl (31.186.86.189): icmp_seq=7 ttl=55 time=75.3 ms
^C
--- soisk.info ping statistics ---
7 packets transmitted, 6 received, 14,2857% packet loss, time 6040ms
rtt min/avg/max/mdev = 19.143/36.196/75.314/21.288 ms

Jak widać w zależności od systemu operayjnego trochę inaczej wyglada rezultat. W MS Windows odpowiadają nam 4 pakiety po 32 bajty w linuksach odpowiada nieskończona liczba pakietów o wielkości 64 bajty. W obu przypadkach widzimy czas pakietu wyrażony w milisekundach (1/1000 sekundy) oraz TTL, czyli czas życia pakietu pomniejszany o 1 po przejściu przez kolejne routery.

Więcej opcji w MS Windows dostępne jest po wpisaniu ping /?

Więcej opcji w linuksach dostępne jest po wpisaniu ping --help


NSLOOKUP

Polecenie dostępne zarówno w MS Windows i linuksach. Działa w trybie inteaktywnycm jak i nieinteraktywnym. Poniżej przykład z systemu MS Windows, tryb interaktywny.

C:\Users\jarek>nslookup
Default Server:  vdns2.vectranet.pl
Address:  31.11.173.2

> soisk.info
Server:  vdns2.vectranet.pl
Address:  31.11.173.2

Non-authoritative answer:
Name:    soisk.info
Address:  31.186.86.189

Widzimy adres naszego serwera DNS, ten który wpisaliśmy w konfigurację sieciową lub pobraliśmy automatycznie z sewera DHCP. Jak widać dostałem adres IP wpisanej nazwy domenowej. Jeśli występuje "Non-authoritative answer" oznacza to, że serwer DNS nie obsługuje tej strefy i musiał odpytać inne serwery.

C:\Users\jarek>nslookup
Default Server:  vdns2.vectranet.pl
Address:  31.11.173.2

> server 8.8.8.8
Default Server:  dns.google
Address:  8.8.8.8

> soisk.info
Server:  dns.google
Address:  8.8.8.8

Non-authoritative answer:
Name:    soisk.info
Address:  31.186.86.189

Powyżej wpisując server 8.8.8.8 zmieniłem adres DNS na adres DNS google i z niego otrzymałem odpowiedź.

C:\Users\jarek>nslookup
Default Server:  vdns2.vectranet.pl
Address:  31.11.173.2

> set type=SOA
> soisk.info
Server:  vdns2.vectranet.pl
Address:  31.11.173.2

Non-authoritative answer:
soisk.info
        primary name server = ns1.netmark.pl
        responsible mail addr = firma.netmark.pl
        serial  = 2022072000
        refresh = 86400 (1 day)
        retry   = 7200 (2 hours)
        expire  = 3600000 (41 days 16 hours)
        default TTL = 86400 (1 day)>

Powyżej wpisując set type=SOA odpytałem serwer DNS o rekord SOA w domenie soisk.info. Zamiast SOA można oczywiście wpisywac inne rodzaje rekordów DNS.

IPCONFIG

System MS Windows przechowuje odpowiedzi DNS w pamięci podręcznej. Pozwala to pominąć serwer DNS w procesie rozpoznawania nazw. Wyświetlamy adresy z pamięci podręcznej poleceniem ipconfig /displaydns

C:\Users\jarek>ipconfig /displaydns

Windows IP Configuration

    content-autofill.googleapis.com
    ----------------------------------------
    Record Name . . . . . : content-autofill.googleapis.com
    Record Type . . . . . : 1
    Time To Live  . . . . : 8
    Data Length . . . . . : 4
    Section . . . . . . . : Answer
    A (Host) Record . . . : 142.250.75.10


    Record Name . . . . . : content-autofill.googleapis.com
    Record Type . . . . . : 1
    Time To Live  . . . . : 8
    Data Length . . . . . : 4
    Section . . . . . . . : Answer
    A (Host) Record . . . : 142.250.186.202

Tutaj kluczony jest parametr TTL, oznacza ile sekund dany adres będzie w pamięci podręcznej. Czas nie jest długi, gdyż inaczej byłby problem z właściwym rozpoznawaniem nazw po zmianach na serwerze DNS.

Pamięć podręczną możemy wyczyścić poleceniem ipconfig /flushdns

C:\Users\jarek>ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.


DIG

W systemach operacyjnych linuks mozemy skorzystać z polecenia dig.

uczen@uczen-VirtualBox:~$ dig soisk.info

; <<>> DiG 9.16.1-Ubuntu <<>> soisk.info
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46762
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;soisk.info.			IN	A

;; ANSWER SECTION:
soisk.info.		4649	IN	A	31.186.86.189

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: sob paź 15 17:29:53 CEST 2022
;; MSG SIZE  rcvd: 55

Jak widać domyślnie dostajemy zwrócony rekord A domeny. Można odpytać o dowolny rekord. Poniżej odpytałem o rekord NS.

uczen@uczen-VirtualBox:~$ dig soisk.info NS

; <<>> DiG 9.16.1-Ubuntu <<>> soisk.info NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24195
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;soisk.info.			IN	NS

;; ANSWER SECTION:
soisk.info.		3600	IN	NS	ns1.netmark.pl.
soisk.info.		3600	IN	NS	ns2.netmark.pl.

;; Query time: 59 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: sob paź 15 17:31:46 CEST 2022
;; MSG SIZE  rcvd: 85

Ciekawą opcją jest zapytanie dig +trace

uczen@uczen-VirtualBox:~$ dig +trace soisk.info

; <<>> DiG 9.16.1-Ubuntu <<>> +trace soisk.info
;; global options: +cmd
.			338226	IN	NS	a.root-servers.net.
.			338226	IN	NS	l.root-servers.net.
.			338226	IN	NS	i.root-servers.net.
.			338226	IN	NS	b.root-servers.net.
.			338226	IN	NS	f.root-servers.net.
.			338226	IN	NS	d.root-servers.net.
.			338226	IN	NS	k.root-servers.net.
.			338226	IN	NS	m.root-servers.net.
.			338226	IN	NS	j.root-servers.net.
.			338226	IN	NS	g.root-servers.net.
.			338226	IN	NS	c.root-servers.net.
.			338226	IN	NS	e.root-servers.net.
.			338226	IN	NS	h.root-servers.net.
;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 31 ms

info.			172800	IN	NS	b2.info.afilias-nst.org.
info.			172800	IN	NS	a2.info.afilias-nst.info.
info.			172800	IN	NS	a0.info.afilias-nst.info.
info.			172800	IN	NS	b0.info.afilias-nst.org.
info.			172800	IN	NS	d0.info.afilias-nst.org.
info.			172800	IN	NS	c0.info.afilias-nst.info.
info.			86400	IN	DS	5104 8 2 1AF7548A8D3E2950C20303757DF9390C26CFA39E26C8B6A8F6C8B1E7 2DD8F744
info.			86400	IN	RRSIG	DS 8 1 86400 20221028050000 20221015040000 18733 . dr/kC0nTyXe73czOfEVQQO5bhvgJh5AvBxS75MWXh2o6CJHGmB0iSlyY hu2OXv/qbS5049KXIjcAUYWakzvxi/E8NfrgmlQHXjL11faXgF6pUu9A yCTlttgAic/cEPV8Cl3VBrapwmhm8aOtZSjZsIP6ITkARgvpRnGS6z7w SUYRxKf5HXuLFJMUx7yilX3aBl7IUeEhVF0QYzkxaD0MqyQnhrHwlkUG 7YZGdWqLeo2AKkXLsQUK4posBH8v2F4K1s3a3nqcy4ZJcfFPuv7kpYD/ qaBK5DcCdJJWjz5i9OZ75+rtRBuhsl5/6kBg9HbW1Imw/TV03H+hSAhE oGV6ew==
;; Received 809 bytes from 192.112.36.4#53(g.root-servers.net) in 55 ms

soisk.info.		3600	IN	NS	ns1.netmark.pl.
soisk.info.		3600	IN	NS	ns2.netmark.pl.
dr3kecftk5dlgg1gdcs9q10f5vjs86ll.info. 3600 IN NSEC3 1 1 10 332539EE7F95C32A DR44461AKSG9J407B3AJ3J2PFM3R455D NS SOA RRSIG DNSKEY NSEC3PARAM
dr3kecftk5dlgg1gdcs9q10f5vjs86ll.info. 3600 IN RRSIG NSEC3 8 2 3600 20221105152555 20221015142555 2685 info. RZGhNVayW9QY05t0HwBqllyxNqLoYE/B3bzvj5Yqs5kWwIiyfyaTFWeZ 2ne2bPSno5kK+Czxh2igvAs2OjzOJn4d/FFIMVbOCadB8umWxPmt0xjr /OrkBnOlOOv6+8l96mDAW8ZCTQ4/ivxFYIbPVqGx2Irfz1FCAOWEpUUS hEo=
us5gi8lmhbgp0grsplo16d7mi1u4ppf9.info. 3600 IN NSEC3 1 1 10 332539EE7F95C32A US69D4HJTBDT0DPTAF28NE41FSKC38EB NS DS RRSIG
us5gi8lmhbgp0grsplo16d7mi1u4ppf9.info. 3600 IN RRSIG NSEC3 8 2 3600 20221030153442 20221009143442 2685 info. Jokwt1fe+ST8nsTFLZYymwx7CB6v5PkdrO2la/2CTAYwhTcNZVEI86K2 +eK8m6cIv1AFLfMcgK249Sj6Oca8CyoLfnoFDdKpqZbg5qvs9ZhOAgzU 51zHQnAfRbKX2mHBasqIWNX7N3BDxqT0UIxYZEMcZ5zKu36wou7pH6LF 5dE=
;; Received 588 bytes from 199.254.49.1#53(c0.info.afilias-nst.info) in 35 ms

soisk.info.		14400	IN	A	31.186.86.189
soisk.info.		86400	IN	NS	ns1.netmark.pl.
soisk.info.		86400	IN	NS	ns2.netmark.pl.
;; Received 161 bytes from 176.119.40.38#53(ns2.netmark.pl) in 19 ms

Tutaj widać dokładnie jak działają serwery DNS. Jeśli nasz wpisany w konfigurację sieciową serwer DNS nie zna odpowiedzi, znaczy nie ma tego wpisu w jego strefie. Zapytuje tzw. root serwer. Ten z kolei kieruje zapytanie do serwerów organizacji, która zarządza domenami najwyższego poziomu. W przypadku domeny info jest to Afilias. Następnie Afilias przekierowuje do serwera DNS na którym przechowywana jest strefa. Gdybym odpytywał o domenę pl to root serwer przekierowałby zapytanie na serwery NASK, bo NASk zajmuje się domeną pl.

WHOIS

Polecenie w systemach linuks wykorzystujące protokół whois do wyświetlania informacji na temat zarejestrowanych domen. Zamiast polecenia można użyć równieć stron www, które robią to samo. Poniżej wklejam wynik działania polecenia (okrojony)

uczen@uczen-VirtualBox:~$ whois soisk.info
Domain Name: soisk.info
Registry Domain ID: 515ff91b3f49477da7f2ee403771928a-DONUTS
Registrar WHOIS Server: whois.godaddy.com/
Registrar URL: http://www.godaddy.com/domains/search.aspx?ci=8990
Updated Date: 2022-09-08T00:30:29Z
Creation Date: 2010-08-27T23:27:35Z
Registry Expiry Date: 2023-08-27T23:27:35Z
Registrar: GoDaddy.com, LLC
Registrar IANA ID: 146
Registrar Abuse Contact Email: abuse@godaddy.com
Registrar Abuse Contact Phone: +1.4806242505