Narzędzia użytkownika

Narzędzia witryny


Pasek boczny


O mnie


Dydaktyka:

Feedback


sk2:dns-queries

To jest stara wersja strony!


Domain Name System - odpytywanie serwerów

http://www.cs.put.poznan.pl/ddwornikowski/sieci/sieci2/dns.html

Przygotowanie do laboratoriów w salach 1.6.16 / 1.6.18
Na początku zajęć pobierz skrypt dns_lab_setup.sh i wykonaj go z uprawnieniami roota, podając jako argument adres IP podany przez prowadzącego.

FQDN

Nazwa domenowa [2]
Budowa nazwy domenowej: struktura drzewiasta, korzeń.
Top Level Domain [3], lista      (do 2012r istniały tylko funkcjonalne i krajowe domeny; teraz mogą też funkcjonować prawie dowolne)
Fully qualified domain name – pełna nazwa domenowa [1]

Zadanie 1 Porównaj wynik poniższych poleceń:

$ ping -c1 lab-net-1
$ ping -c1 lab-net-1.cs.put.poznan.pl

Role serwerów DNS

Serwery nazw można podzielić ze względu na pełnione zadanie na:

  • root servers [1] – odpowiadają za TLD; odpowiadają tylko na pytania o TLD
  • authoritative servers [2] – wpisywane do serwerów nazw nadrzędnej domeny serwery odpowiedzialne za rozgłoszenie domeny w sieci; odpowiadają na pytania o swoją domenę
  • caching name servers [3] – serwery zbierające informacje z powyższych, przeznaczone dla użytkowników końcowych (zwane czasem public DNS)

Drzewo DNS a serwery DNS

Zapytania DNS

Klienci odpytujący DNS korzystają zwykle z UDP.

Do odpytywania serwerów DNS można używać np. komend:

  • host (uwaga, różne wersje: [1] [2] )
  • dig -h
  • nslookup (zacznij od przeczytania man nslookup)
  • dnstracer (pozwala przejść całe drzewo DFSem, np: dnstracer -c -o -s . assets.publishing.service.gov.uk. )

Zadanie 2 Przetestuj poniższe zapytania:

host lab-net-1.cs.put.poznan.pl
host lab-net-1.cs.put.poznan.pl.
host lab-net-1
dig +noall +answer lab-net-1.cs.put.poznan.pl
dig lab-net-1.cs.put.poznan.pl
dig +short lab-net-1.cs.put.poznan.pl
dig www.cs.put.edu.pl
dig wp.pl
host wp.pl

Rodzaje rekordów

Wybór typu rekordu:

  • host -t typ nazwa_domenowa np:
    host -t MX put.poznan.pl
  • dig nazwa_domenowa typ np:
    dig put.poznan.pl AAAA

Pytanie o "wszystkie" rekordy:

  • host -a [-v] nazwa_domenowa
  • dig nazwa_domenowa any

Zadanie 3 Odpytaj kilka domen o wszystkie rekordy. Jakie typy rekordów głównie widzisz? Czy są to wszystkie rekordy dla tej domeny?

Ważniejsze typy rekordów:

A Adres IPv4
AAAA Adres IPv6
NS Serwer nazw
SOA Start of Authority (omówione dokładniej przy konfiguracji serwera DNS)
MX Serwer odbierający pocztę dla domeny ( np. )
CNAME Alias na inną nazwę domenową ( np. )
TXT Dowolny tekst (dosłownie dowolny).
Używany np. na potrzeby mechanizmów walki ze spamem – SPF, DKIM i DMARC) ( przykłady: )
SRV Host i port usługi, ( np. )
PTR Nazwa domenowa (patrz niżej)

Pozostałe: https://en.wikipedia.org/wiki/List_of_DNS_record_types

Zadanie 4 Wykonaj zapytania o odwzorowanie odwrotne:

host 150.254.30.43
dig -x 150.254.30.43
dig @8.8.8.8 -x 150.254.30.43
host -t ptr 43.30.254.150.in-addr.arpa
dig  43.30.254.150.in-addr.arpa ptr

Zadanie 5 Zadaj zapytania odwrotne o adres IPv6. Jaka domena jest użyta?

„Żeby dowiedzieć się jaki IP ma home.cern, zapytam się root serwera gdzie jest serwer nazw dla cern. Serwer nazw jest pod adresem a2.nic.cern, więc żeby dowiedzieć się, gdzie jest a2.nic.cern, zapytam się root serwera gdzie jest serwer nazw dla cern…“
Błędne koło?

Jeśli NS jest w tej samej domenie, którą rozwiązuje, to razem z rekordem NS w nadrzędnym serwerze nazw musi być też rekord A lub AAAA tzw. glue record

Zadanie 6 Sprawdź jak wygląda wynik komendy: dig nask.pl @a-dns.pl. Które rekordy to glue records?

Kogo pytamy?

System operacyjny Linux używa serwera DNS skonfigurowanego w pliku /etc/resolv.conf. Dokumentacja możliwych wpisów w tym pliku: man resolv.conf

Ręczne wybranie serwera:

  • host name server, np:
    host pl.wikipedia.org dns.tpsa.pl
    host pl.wikipedia.org one.one.one.one
  • dig @server name, np:
    dig @dns.tpsa.pl pl.wikipedia.org
    dig @one.one.one.one pl.wikipedia.org

Rodzaje zapytań [1]:

  • iteracyjne
    • automatycznie:
      dig nazwa +trace
    • ręcznie krok po kroku, np. dla cs.put.poznan.pl:
      dig @a.root-servers.net cs.put.poznan.pl
      dig @a-dns.pl cs.put.poznan.pl
      ………
  • rekurencyjne (domyślne)
    dig nazwa +recurse

Przykładowe adresy publicznych serwerów DNS:

Zadanie 7 Wykonaj ręcznie i automatycznie zapytanie iteracyjne dla przykładowej nazwy domenowej

Serwery authoritative i caching – przypomnienie

Zadanie 8 Porównaj odpytanie o stronę poznan.pl programem dig następujących serwerów DNS:
     cns1a.atman.pl     ordns.he.net     bilbo.nask.org.pl
Co oznacza druga kolumna wyników? Czym różnią się flagi odpowiedzi?

Zadanie 9 Znajdź w wynikach dig informację o tym, czy serwer ustawił flagę authoritative answer wskazującą że uznaje siebie za serwer authoritative dla wskazanej domeny.

Bezpieczeństwo:

Prywatność:

  • Problem: zapytania DNS są wysyłane otwartym tekstem
  • Brak powszechnych rozwiązań
  • Zaproponowano: DNS over {TLS,HTTPS,QUIC,SSH}, dnscrypt, …

Zadanie 10 Porównaj wynik zapytania o adres dowolnej strony z listy: https://hazard.mf.gov.pl/ pytając poniższe serwery DNS:
    1.0.0.1     ordns.he.net    dns.tpsa.pl    netia-dns1.inetia.pl

UDP vs TCP

Programy korzystające z systemu DNS zgodnie ze standardami ograniczają długość wiadomości UDP do 512B. Jeśli wiadomość nie zmieści się w tym limicie, używa się TCP. Użycie TCP w systemie DNS podsumowuje RFC7766.

Zadanie 11 Zapytaj o rekord TXT dla nazwy domenowej lenovo.com i zobacz w Wiresharku jak wygląda wymiana pakietów. Porównaj ją z wymianą o rekord A dla tego adresu.

Przykłady odpowiedzi na zapytania

Przykłady odpowiedzi na zapytania

sk2/dns-queries.1734183312.txt.gz · ostatnio zmienione: 2024/12/14 14:35 (edycja zewnętrzna)