Tajemnice DNS

Zawartość serwerów DNS to nie tylko nazwy domen, ale wiele dodatkowych informacji.

Zawartość serwerów DNS to nie tylko nazwy domen, ale wiele dodatkowych informacji.

Informacje zawarte w DNS są podzielone na rekordy składające się z co najmniej pięciu pól - zależnie od typu rekordu. Są to obiekty opisujące rekordy takie jak: nazwa (serwera, domeny lub podsieci), czas życia rekordu (time to live - TTL), klasa rekordu (IN dla Internetu), typu rekordu i parametry zależne od typu danego rekordu.

Najczęściej spotyka się następujące typy rekordów:

  • A - wiążący adres symboliczny (podany po lewej stronie) z adresem numerycznym (może być kilka rekordów A dla jednej nazwy symbolicznej, a więc kilka adresów numerycznych hosta - czyli komputera lub serwera włączonego do Internetu)

  • PTR - tłumaczący adres symboliczny na adres numeryczny (jednemu adresowi numerycznemu można przypisać dokładnie jeden adres symboliczny)

  • SOA - zawierający podstawowe informacje o strefie (wykorzystywane przez serwery DNS)

  • NS - określający autorytatywny (pierwotny lub wtórny) name server dla danej strefy

  • MX - podający nazwę hosta pod adresem którego należy kierować pocztę wysyłaną na dany adres

  • CNAME - tłumaczący alias (dodatkową nazwę) na nazwę kanoniczną (taką, której odpowiada przynajmniej jeden rekord A)

    Rzadziej spotykane są takie rekordy, jak:

  • HINFO - zawierający informacje o sprzęcie i oprogramowaniu (najczęściej systemie operacyjnym) hosta

  • WKS - zawierający listę usług internetowych świadczonych przez hosta. (Rekordy HINFO i WKS są rzadko używane przede wszystkim dlatego, że ich przydatność, poza przydatnością dla włamywaczy, jest wątpliwa)

  • TXT - zawierający komentarz tekstowy, np. właściciela domeny. Rzadko stosowany, mimo że jest wykorzystywany przez usługę X.500.

    Znaczną grupę stanowią dość egzotyczne typy rekordów (stworzone na ogół w celach eksperymentalnych), takie jak rekordy tłumaczące adresy hostów na ich odpowiedniki w innych protokołach (np. AAAA - dla adresów w IP6, X25, ISDN), określające położenie geograficzne hosta (LOC), zawierające informacje o routingu (RT) czy nawet dowolne dane binarne (UNSPEC).

    Nauka czytania

    W systemach unixopodobnych do odczytywania informacji z name servera służą programy nslookup, host i dig. W najprostszym wywołaniu (gdzie wystarczy podać jedynie nazwę hosta, domeny lub adres IP) tłumaczony jest adres symboliczny hosta na adres IP albo na odwrót. Podawane są wówczas autorytatywne nameserwery dla domeny - a więc potencjalnie najbardziej użyteczne informacje (znajomość adresu numerycznego pozwala na szybsze łączenie się z hostem, gdyż nie jest wtedy przeprowadzane tłumaczenie adresu; tłumaczenie adresu numerycznego na symboliczny jest przydatne na przykład wtedy, gdy znamy adres IP hosta, ale nie wiemy, gdzie się on znajduje).

    Bardziej szczegółowe informacje można uzyskać, podając typ szukanego rekordu. Oprócz konkretnych nazw typów rekordów można posłużyć się pseudotypami - takimi jak ANY, który odpowiada dowolnemu typowi rekordu (dzięki niemu możemy odczytać wszystkie rekordy dotyczące danego hosta). Możemy również wyświetlić wszystkie rekordy danego typu (oczywiście typem znowu może być ANY) znajdujące się w danej strefie (co jest użyteczne chociażby wtedy, gdy wiemy, że ktoś ma konto na jakimś serwerze w obrębie domeny, ale nie wiemy, na jakim - zapytanie o rekordy A w strefie da nam listę wszystkich nazwanych hostów). Podobne zastosowanie ma pseudotyp AXFR nakazujący transfer całego opisu strefy (jest on używany przez wtórne DNS-y).

  • W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

    TOP 200