Wprowadzenie
W tym poradniku przyjrzyjmy się różnym sposobom użycia komendy nslookup w Linuksie.
komenda nslookup
nslookup jest narzędziem wiersza poleceń używanym do odpytywania serwerów nazw domen (DNS) i jest dostępna dla systemów operacyjnych takich jak Linux i Windows:
2.1. Interactive vs Non-Interactive
Mamy dwa tryby używania nslookup: interaktywny i nieinteraktywny.
Po pierwsze, możemy aktywować tryb interaktywny, wpisując polecenie bez parametrów:
~]$ nslookup>
Potem otrzymujemy znak zachęty do wpisywania poszczególnych poleceń bez wpisywania nslookup za każdym razem.
Z drugiej strony, tryb nieinteraktywny wykorzystuje te same polecenia jako parametry:
~]$ nslookup -type=a redhat.com
Teraz, uruchommy kilka zapytań z nslookup.
2.2. Lookup a Domain
Przyjrzyjrzyj się wynikom wyszukiwania nazwy domeny:
~]$ nslookup redhat.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:Name: redhat.comAddress: 209.132.183.105
Rekord DNS – lub rekord A – zaczyna się po tekście „Non-authoritative answer”. Te rekordy pokazują adresy IP związane z domeną.
Pamiętaj, rekordy DNS mapują nazwy domen na adresy IP systemów komputerowych.
2.3. Reverse DNS Lookup
Podobnie, możemy wyszukać nazwę domeny z adresu IP:
~]$ nslookup> type=ptr> 209.132.183.105105.183.132.209.in-addr.arpa name = redirect.redhat.com.
Zauważ, jak nazwa domeny zwrotnej różni się nieco od domeny oryginalnej. W rzeczywistości zwracany jest inny rekord zwany PTR.
Niektóre domeny nie mają zarejestrowanych rekordów PTR dla adresów IP:
~]$ nslookup> 104.18.62.78Server: 192.168.1.1Address: 192.168.1.1#53** server can't find 78.62.18.104.in-addr.arpa: NXDOMAIN
Parametr typu
Następnie, parametry typu dodają więcej informacji do naszych wyszukiwań. Na przykład ptr daje odwrotny DNS, jak wspomniano powyżej.
Teraz wypróbujmy kilka innych typów.
3.1. All Entries
Możemy uzyskać wszystkie wpisy DNS przez podanie -type=a:
~]$ nslookup -type=a baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:Name: baeldung.comAddress: 104.18.63.78Name: baeldung.comAddress: 104.18.62.78
3.2. Autorytatywne (SOA)
Następnie, patrzymy na autorytatywne (SOA) informacje o domenie. Na przykład, rekord A zawiera informacje o poczcie i inne informacje pokazane tutaj:
~]$ nslookup -type=soa baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:baeldung.com origin = lakas.ns.cloudflare.com mail addr = dns.cloudflare.com serial = 2033559691 refresh = 10000 retry = 2400 expire = 604800 minimum = 3600
Wraz z wieloma serwerami nazw domen rozsianymi po Internecie, otrzymujemy wyniki, które nie są z pierwszej ręki. Są one nazywane nieautorytatywnymi odpowiedziami. Jednak nadal dostarczają one dokładnych rekordów.
3.3. Any Entries
Wreszcie, parametr type=any zwraca wszystkie powyższe, łącznie z wszelkimi innymi typami rekordów na serwerze. Jest to pomocne, gdy nie wiemy, który rekord chcemy uzyskać.
Uwaga, type=any nie jest prawdopodobnie zaimplementowany na większości publicznych serwerów nazw, ale nadal jest przydatny w sieciach wewnętrznych.
Informacje o serwerze nazw
Czasami chcemy zobaczyć informacje o serwerze nazw, aby sprawdzić, gdzie istnieje rekord domeny.
Na przykład, możemy przetestować naszą domenę za pomocą type=ns:
~]$ nslookup -type=ns baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:baeldung.com nameserver = lakas.ns.cloudflare.com.baeldung.com nameserver = meera.ns.cloudflare.com.
W rezultacie możemy określić, jaki DNS skonfigurować do komunikacji serwer-serwer za pośrednictwem domeny. Pamiętaj, że odpytywanie nowego DNS wymaga zmian w konfiguracji sieci lokalnej.
Włącz Debug
Dodatkowo, tryb interaktywny nslookup daje użytkownikowi możliwość debugowania zapytań:
~]$ nslookup -debug baeldung.comServer: 192.168.1.1Address: 192.168.1.1#53------------ QUESTIONS: baeldung.com, type = A, class = IN ANSWERS: -> baeldung.com internet address = 104.18.63.78 ttl = 300 -> baeldung.com internet address = 104.18.62.78 ttl = 300 AUTHORITY RECORDS: ADDITIONAL RECORDS:------------Non-authoritative answer:Name: baeldung.comAddress: 104.18.63.78Name: baeldung.comAddress: 104.18.62.78------------ QUESTIONS: baeldung.com, type = AAAA, class = IN ANSWERS: -> baeldung.com has AAAA address 2606:4700:3030::6812:3e4e ttl = 300 -> baeldung.com has AAAA address 2606:4700:3036::6812:3f4e ttl = 300 AUTHORITY RECORDS: ADDITIONAL RECORDS:------------Name: baeldung.comAddress: 2606:4700:3030::6812:3e4eName: baeldung.comAddress: 2606:4700:3036::6812:3f4e
Wnioski
Podsumowując, polecenie nslookup jest podstawowe i całkiem użyteczne. Przyjrzeliśmy się dwóm trybom i różnym typom zapytań, jak również możliwości debugowania, jeśli kiedykolwiek potrzebne jest rozwiązywanie problemów.