piątek,
Wyświetlanie nazw głównych serwerów DNS
Aby uzyskać listę głównych serwerów DNS oraz dane na ich temat z poziomu systemu Linux, możesz użyć narzędzia takiego jak dig
. Pozwala ono na wykonanie zapytań DNS i uzyskanie informacji o różnych rekordach, w tym także o serwerach głównych (root servers). Pamiętaj, że wyniki uzyskane za pomocą tych narzędzi mogą być czasami buforowane przez lokalne serwery DNS, co oznacza, że nie zawsze otrzymasz najświeższe informacje. Jednak w przypadku serwerów głównych DNS, które rzadko się zmieniają, te dane są zazwyczaj stabilne i nie podlegają częstym zmianom.
Co to są serwery główne (root servers)?
Są to serwery DNS na najwyższym poziomie hierarchii DNS. Odpowiadają one za podstawową nawigację w całym systemie DNS, kierując zapytania do odpowiednich serwerów TLD (Top-Level Domain) i dalej, aż do osiągnięcia docelowych serwerów nazw.
Program dig (Linux/UNIX)
Aby uzyskać listę głównych serwerów DNS, wpisz w terminalu:
dig NS .
Kropka na końcu oznacza zapytanie o rekordy NS dla korzenia (root) przestrzeni nazw DNS.
Przykładowy wynik komendy:
; <<>> DiG 9.16.1-Ubuntu <<>> NS .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
...
. 518400 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 3600000 IN A 198.41.0.4
a.root-servers.net. 3600000 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 3600000 IN A 199.9.14.201
...
m.root-servers.net. 3600000 IN A 202.12.27.33
m.root-servers.net. 3600000 IN AAAA 2001:dc3::35
;; Query time: 123 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Mar 01 12:00:00 UTC 2022
;; MSG SIZE rcvd: 512
W sekcji "ANSWER SECTION" znajduje się lista głównych serwerów nazw (NS) dla korzenia DNS. Każdy wpis zawiera nazwę serwera (np. a.root-servers.net
) oraz jego typ rekordu (NS). W sekcji "ADDITIONAL SECTION" dostępne są adresy IP tych serwerów (zarówno IPv4, jak i IPv6, jeśli są dostępne). Czas odpowiedzi, adres serwera DNS, który odpowiedział na zapytanie, oraz innych szczegółów dotyczących zapytania można znaleźć w dolnej części wyjścia programu.
Polecenie nslookup (Windows/Linux/Unix)
Wpisanie pojedynczej kropki (.) w zapytaniu nslookup
jest specjalnym przypadkiem. Kropka w kontekście DNS reprezentuje korzeń przestrzeni nazw DNS, czyli najwyższy poziom w hierarchii DNS. Gdy wykonasz zapytanie o serwery nazw (NS) dla kropki, będziesz prosić o informacje na temat globalnych głównych serwerów (root-servers) DNS, które są fundamentem całego systemu DNS.
Oto jak to zrobić:
- Otwórz wiersz poleceń lub terminal.
- Przejdź do trybu interaktywnego nslookup – wpisz
nslookup
i naciśnij Enter. - Ustaw typ zapytania na NS – wpisz
set type=NS
i naciśnij Enter. - Wpisz kropkę jako zapytanie – teraz wpisz samą kropkę (.) i naciśnij Enter.
Przykładowe polecenie i wynik:
> nslookup
> set type=NS
> .
Wynik:
Server: [adres IP Twojego serwera DNS]
Address: [adres IP]#53
Non-authoritative answer:
(root) nameserver = a.root-servers.net.
(root) nameserver = b.root-servers.net.
(root) nameserver = c.root-servers.net.
... [i tak dalej dla pozostałych root-servers]
Wynik zawiera listę globalnych serwerów głównych DNS. Istnieje 13 głównych serwerów korzeniowych DNS, oznaczonych literami od A do M (np. a.root-servers.net, b.root-servers.net itd.). Te serwery są rozproszone geograficznie na całym świecie i są kluczowym elementem globalnego systemu DNS, ponieważ przechowują informacje umożliwiające nawigację do domen najwyższego poziomu (TLD) takich jak .com, .org, .net i innych.
Informacje o wybranym głównym serwerze DNS
Aby uzyskać informacje na temat wybranego głównego serwera DNS, na przykład a.root-servers.net
, możesz użyć standardowych narzędzi, np. polecenia dig:
dig a.root-servers.net