nslookup-commando: gebruik en opties, records opvragen en een DNS-server kiezen

TestomgevingRHEL-familieAlmaLinux 9.8nslookup 9.16root-accountDebian 12 gewoon account
Netwerkcommando'snslookupLocatie/usr/bin/nslookup

Het commando nslookup is een opzoekhulpmiddel dat een DNS-server naar een domeinnaam vraagt en de IP-adressen en DNS-records zoals MX, NS en TXT teruggeeft. Toen we op een AlmaLinux 9-server de records van example.com per type opvroegen en de bevraagde DNS-server wisselden, gaf hetzelfde domein verschillende resultaten afhankelijk van de server: de regel Non-authoritative answer bovenaan het antwoord verdween, of het resultaat van de ANY-query veranderde.

De uitvoer hieronder komt van het root-account op een AlmaLinux 9.8-server. Het adres van de DNS-server die op de server is ingesteld, is vervangen door de voorbeeldwaarde 192.0.2.53, en ook de versienummers van pakketten zijn vervangen door voorbeeldwaarden.

1️⃣ Zo gebruikt u het nslookup-commando

De basisvorm is [nslookup -optie naam DNS-server], en zowel de opties als de DNS-server kunt u weglaten. Geeft u alleen een naam op, dan vraagt nslookup het adres van die naam aan de DNS-server die op de server is ingesteld.

nslookup example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
Name:	example.com
Address: 172.66.147.243
Name:	example.com
Address: 104.20.23.154
Name:	example.com
Address: 2606:4700:10::6814:179a
Name:	example.com
Address: 2606:4700:10::ac42:93f3

De twee regels Server en Address bovenaan tonen de DNS-server die de query ontving, en #53 aan het eind is het DNS-poortnummer. Zonder recordtype vraagt nslookup eerst het A-record (IPv4) en daarna het AAAA-record (IPv6) op, daarom volgden op twee IPv4-adressen twee IPv6-adressen.

Non-authoritative answer betekent dat niet de server antwoordde die de records van example.com rechtstreeks beheert, maar een DNS-server die de waarde in de cache had. Vlak na het wijzigen van een record kan de waarde daarom afwijken van de echte waarde.

2️⃣ Opties van nslookup

Opties schrijft u met een koppelteken voor de naam.

-type is dezelfde optie als -query of de korte vorm -q. Een vraag aan 8.8.8.8 met -q=mx gaf dezelfde ene mailserverregel als -type=mx.

nslookup -q=mx google.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
google.com	mail exchanger = 10 smtp.google.com.

Authoritative answers can be found from:

-timeout en -retry bepalen hoe lang er wordt gewacht op een DNS-server die niet antwoordt. 192.0.2.1 is een adres dat voor documentatie is gereserveerd, dus daar antwoordt geen server.

nslookup -timeout=2 -retry=1 example.com 192.0.2.1
;; connection timed out; no servers could be reached

Met -timeout=2 -retry=1 toonde nslookup na 2 seconden de regel [connection timed out] en stopte. Met -retry=2 duurde het 4 seconden, en zonder opties 15 seconden. Om te voorkomen dat een script lang blijft hangen op een server die niet antwoordt, verlaagt u beide waarden.

Met -debug worden de vraag- en antwoordsecties van het antwoordpakket ongewijzigd getoond.

nslookup -debug example.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

------------
    QUESTIONS:
	example.com, type = A, class = IN
    ANSWERS:
    ->  example.com
	internet address = 104.20.23.154
	ttl = 300
    ->  example.com
	internet address = 172.66.147.243
	ttl = 300
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name:	example.com
Address: 104.20.23.154
Name:	example.com
Address: 172.66.147.243
------------
    QUESTIONS:
	example.com, type = AAAA, class = IN
    ANSWERS:
    ->  example.com
	has AAAA address 2606:4700:10::6814:179a
	ttl = 300
    ->  example.com
	has AAAA address 2606:4700:10::ac42:93f3
	ttl = 300
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
------------
Name:	example.com
Address: 2606:4700:10::6814:179a
Name:	example.com
Address: 2606:4700:10::ac42:93f3

Elk record kreeg een ttl = 300 die de gewone uitvoer niet toont. Het betekent dat de DNS-server die dit antwoord ontving, het record tot 300 seconden in de cache mag houden.

-norecurse vraagt de DNS-server alleen te antwoorden met wat hij al heeft, zonder via andere servers te zoeken. Zonder de optie gaf dezelfde vraag aan 8.8.8.8 vier adressen, maar met -norecurse eindigde de query met [SERVFAIL].

nslookup -norecurse example.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

** server can't find example.com: SERVFAIL
OptieKopiërenUitleg
-type=Bepaalt het op te vragen recordtype; zonder opgave A en daarna AAAA
-q=Dezelfde optie als -type, bepaalt het op te vragen recordtype
-timeout=Wachttijd voor het antwoord op de eerste query (seconden)
-retry=Aantal keer dat de query wordt verstuurd als er geen antwoord komt
-debugToont vraag en antwoord van het antwoordpakket, inclusief TTL
-norecurseVraagt alleen de waarden van die server op, zonder via andere servers te gaan
OptieKopiërenUitleg
-query=Dezelfde optie als -type, bepaalt het op te vragen recordtype
-port=Bepaalt de op te vragen poort, standaard 53
-versionVersie tonen en afsluiten

3️⃣ Records opvragen met nslookup (MX, NS, TXT, SOA)

Zet u na -type= een recordtype, dan wordt alleen dat record opgevraagd. De waarde mag in hoofdletters of kleine letters.

Waarde van -type=Bevat informatie
A · AAAAIPv4-adres, IPv6-adres
MXServer die mail ontvangt en de prioriteit
NSNameservers die de records van het domein beheren
TXTTekstwaarden zoals SPF
SOAPrimaire nameserver van de zone, beheerdersmail, serienummer, vernieuwingsintervallen
CNAMEAlias die naar een andere naam verwijst
PTRHostnaam die aan een IP-adres is gekoppeld (omgekeerd)
ANYVraagt alle records van die naam tegelijk op

Mailservers controleert u met het MX-record.

nslookup -type=mx google.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
google.com	mail exchanger = 10 smtp.google.com.

Authoritative answers can be found from:

De 10 na mail exchanger is de prioriteit. Zijn er meerdere mailservers, dan probeert de verzender de bezorging eerst bij de server met het laagste getal. Dezelfde query op example.com gaf [mail exchanger = 0 .], en een MX met alleen een punt betekent dat dit domein geen mail ontvangt.

[Authoritative answers can be found from:] aan het eind van de MX-query is een kopregel waaronder de meegestuurde gegevens van gezaghebbende nameservers volgen. Bij de MX-, NS- en TXT-query's in dit artikel zaten die gegevens niet in het antwoord, dus bleef het deel onder de kopregel leeg.

Het NS-record bevat de nameservers die de records van het domein rechtstreeks beheren.

nslookup -type=ns example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
example.com	nameserver = hera.ns.cloudflare.com.
example.com	nameserver = elliott.ns.cloudflare.com.

Authoritative answers can be found from:

example.com had twee nameservers. Deze twee servers zijn de gezaghebbende nameservers van example.com.

In een TXT-record kunt u tekstwaarden zonder vaste vorm opslaan.

nslookup -type=txt example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
example.com	text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com	text = "v=spf1 -all"

Authoritative answers can be found from:

v=spf1 -all is een SPF-waarde die aangeeft dat geen enkele server mail mag versturen onder deze domeinnaam. Heeft een domein meerdere TXT-records, dan verschijnen ze zo, één per regel.

Het SOA-record bevat de basisgegevens van de zone.

nslookup -type=soa example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
example.com
	origin = elliott.ns.cloudflare.com
	mail addr = dns.cloudflare.com
	serial = 2418004112
	refresh = 10000
	retry = 2400
	expire = 604800
	minimum = 1800

Authoritative answers can be found from:

origin is de primaire nameserver, en mail addr is het mailadres van de beheerder waarbij de @ als punt is geschreven. serial is een serienummer dat bij elke wijziging van de records omhooggaat, en refresh, retry en expire zijn tijdwaarden (in seconden) die secundaire nameservers gebruiken om hun records met de primaire server gelijk te houden. minimum is hoe lang een antwoord over een niet-bestaand record in de cache blijft.

Aliassen controleert u met het CNAME-record. Een query op www.github.com gaf één regel waaruit blijkt dat het een alias van github.com is.

nslookup -type=cname www.github.com
Server:		192.0.2.53
Address:	192.0.2.53#53

www.github.com	canonical name = github.com.

-type=any vraagt alle records van die naam tegelijk op. De vraag aan de DNS-server die op de server is ingesteld, gaf de A-, AAAA-, MX- en NS-records in één keer.

nslookup -type=any example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
Name:	example.com
Address: 172.66.147.243
Name:	example.com
Address: 104.20.23.154
Name:	example.com
Address: 2606:4700:10::6814:179a
Name:	example.com
Address: 2606:4700:10::ac42:93f3
example.com	mail exchanger = 0 .
example.com	nameserver = hera.ns.cloudflare.com.
example.com	nameserver = elliott.ns.cloudflare.com.

Authoritative answers can be found from:

Dezelfde query naar 8.8.8.8 gaf alleen één regel [hinfo = “RFC8482”] en een handtekeningregel terug.

nslookup -type=any example.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
example.com	hinfo = "RFC8482" ""
example.com	rdata_46 = HINFO 13 2 3600 20261029212708 20261027192708 34505 example.com. 2YBHcD7GmqHiW6E7e8Lx3z/gPoCsLbYw/Uegjy801hQ+4fYp5U7wKqc2 NXOONd8WS0xjgzfW5Dn0akDqdjltOw==

Authoritative answers can be found from:

RFC 8482 is het document dat servers toestaat op een ANY-query een kort antwoord te geven in plaats van alle records. Vraag de records die u nodig hebt daarom per type op.

4️⃣ Een DNS-server opgeven in nslookup

Zet u na de naam een DNS-server, dan vraagt nslookup die server in plaats van de DNS-server die op de server is ingesteld.

nslookup example.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	example.com
Address: 104.20.23.154
Name:	example.com
Address: 172.66.147.243
Name:	example.com
Address: 2606:4700:10::6814:179a
Name:	example.com
Address: 2606:4700:10::ac42:93f3

De regel Server veranderde in 8.8.8.8, en de vier adressen waren gelijk aan het antwoord van de DNS-server die op de server is ingesteld. Na het wisselen van nameservers gebruikt u deze vorm om te controleren of de nieuwe waarden bij elke openbare DNS-server zijn aangekomen.

Geeft u een nameserver uit de NS-query op als DNS-server, dan vraagt u de gezaghebbende server rechtstreeks.

nslookup example.com elliott.ns.cloudflare.com
Server:		elliott.ns.cloudflare.com
Address:	2606:4700:58::a29f:2ce4#53

Name:	example.com
Address: 104.20.23.154
Name:	example.com
Address: 172.66.147.243
Name:	example.com
Address: 2606:4700:10::6814:179a
Name:	example.com
Address: 2606:4700:10::ac42:93f3

Deze keer verdween de regel Non-authoritative answer. De waarde kwam rechtstreeks van de server die de records beheert, dus het is de huidige waarde zonder omweg via een cache. Bij Address direct onder de regel Server stond het IPv6-adres van deze nameserver.

Vraagt u een naam op die niet bestaat, dan verschijnt [NXDOMAIN]. .invalid is een topleveldomein dat gereserveerd is om nooit echt gebruikt te worden, dus het antwoord was dat de naam niet bestaat.

nslookup example.invalid
Server:		192.0.2.53
Address:	192.0.2.53#53

** server can't find example.invalid: NXDOMAIN

no-such-host.example.com eindigde daarentegen niet met NXDOMAIN maar met [No answer]. Dat betekent dat het opgevraagde record niet in het antwoord zat, een ander resultaat dan NXDOMAIN, waarbij de naam zelf niet bestaat.

nslookup no-such-host.example.com
Server:		192.0.2.53
Address:	192.0.2.53#53

Non-authoritative answer:
*** Can't find no-such-host.example.com: No answer

5️⃣ Omgekeerd opzoeken met nslookup

Geeft u in plaats van een naam een IP-adres op, dan vraagt nslookup het PTR-record op en vindt de hostnaam die aan dat adres is gekoppeld.

nslookup 8.8.8.8
8.8.8.8.in-addr.arpa	name = dns.google.

Authoritative answers can be found from:

8.8.8.8.in-addr.arpa is de naam die ontstaat door het IPv4-adres achterstevoren te schrijven en in-addr.arpa toe te voegen. De waarde van het PTR-record van deze naam, dns.google., is de hostnaam van 8.8.8.8.

Bij het omgekeerd opzoeken verschenen de twee Server-regels bovenaan niet. Hetzelfde adres opvragen met nslookup 9.18 op een Debian 12-server gaf dezelfde vorm.

6️⃣ Interactieve modus van nslookup

Start u nslookup zonder argumenten, dan komt u in de interactieve modus met de prompt >. Als u meerdere namen en recordtypen na elkaar opvraagt, hoeft u het commando niet steeds opnieuw te typen.

nslookup
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> set type=mx
> google.com
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
google.com	mail exchanger = 10 smtp.google.com.

Authoritative answers can be found from:
> set type=txt
> example.com
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
example.com	text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com	text = "v=spf1 -all"

Authoritative answers can be found from:
> exit

Wissel met server de DNS-server die u bevraagt en stel met set type= het recordtype in; daarna volstaat een naam om met die instellingen op te vragen. Met exit keert u terug naar de shell.

set all toont alle huidige instellingen.

nslookup
> set type=txt
> set all
Default server: 192.0.2.53
Address: 192.0.2.53#53

Set options:
  novc			nodebug		nod2
  search		recurse
  timeout = 0		retry = 3	port = 53	ndots = 1
  querytype = txt     	class = IN
  srchlist = example.internal
> exit

querytype stond op txt, de eerder ingestelde waarde. retry = 3 en port = 53 zijn standaardwaarden die niet zijn gewijzigd.

7️⃣ nslookup installeren op Linux en vergelijken met dig en host

Meldt nslookup op Linux [command not found], installeer dan het pakket met de BIND-hulpmiddelen. Op de AlmaLinux-server kwam nslookup uit het pakket bind-utils.

rpm -qf /usr/bin/nslookup
bind-utils-9.16.20-30.el9_8.2.x86_64

Op de Debian 12-server was het het pakket bind9-dnsutils. De oude naam dnsutils bestond nog als overgangspakket dat bind9-dnsutils installeert.

dpkg -S /usr/bin/nslookup
bind9-dnsutils: /usr/bin/nslookup

Op RHEL-systemen installeert u het pakket bind-utils met het commando hieronder.

dnf install bind-utils

Op Debian-systemen installeert u het pakket bind9-dnsutils.

apt install bind9-dnsutils

In hetzelfde pakket zitten ook dig en host. Alle drie de commando's vragen DNS op, maar hun uitvoer ziet er anders uit.

CommandoUitvoerWaarvoor
nslookupServer-regel + antwoord, interactieve modusMeerdere namen en records na elkaar opvragen
digAlle secties van het antwoordpakket; met +short alleen de waardenAlleen de waarden in een script uitlezen
hostEén zin per recordA, AAAA en MX in één keer controleren
host example.com
example.com has address 172.66.147.243
example.com has address 104.20.23.154
example.com has IPv6 address 2606:4700:10::6814:179a
example.com has IPv6 address 2606:4700:10::ac42:93f3
example.com mail is handled by 0 .

host vroeg ook zonder opties de A-, AAAA- en MX-records in één keer op en toonde elk als een zin van één regel. Met +short laat dig alleen de IP-adressen over.

dig +short example.com
104.20.23.154
172.66.147.243

Om in een script alleen de waarden uit te lezen, is dig +short makkelijker, en om meerdere namen na elkaar te controleren, is de interactieve modus van nslookup handiger.

🌏 Als u tot hier hebt gelezen
Dezelfde gegevens bekijken zonder commando's
De nameservers en records die u met nslookup hebt gecontroleerd, kunt u ook gewoon op het web opvragen. Whois-domein opzoeken voegt daar de registratiegegevens en de vervaldatum uit het whois-commando aan toe en toont alles op één scherm.
Beginners Voer gewoon het domein in, zonder terminal of CMD te openen. Registrar, registratiedatum, vervaldatum en status worden overzichtelijk getoond, samen met het aantal dagen tot de vervaldatum.
Experts Vergelijk de nameservers in Whois met de echte DNS-antwoorden naast elkaar en controleer de A-, AAAA-, NS-, MX- en TXT-records, de TTL en zelfs de ruwe Whois-tekst.
Domein opzoeken openen

🔲 Simulator voor het nslookup-commando

In de simulator hieronder kunt u nslookup zelf invoeren en daarbij het recordtype en de DNS-server wisselen.

Simulator voor het nslookup-commandonslookup 9.16
[root@server work]#
Werkt alleen in je browser; de antwoorden komen uit een virtuele DNS met waarden uit echte opvragingen, en met ↑↓ haal je eerder getypte commando's terug.

🔢 FAQ & aanbevolen content

Ook bij nslookup op Windows is het eerste argument de op te vragen naam en het tweede de DNS-server. Zonder argumenten komt u in de interactieve modus met de prompt >. De uitvoerteksten op Windows kunnen afwijken van Linux.

nslookup eindigt met afsluitcode 1 als ook maar één query mislukt. Na de query op example.invalid die NXDOMAIN gaf, was de getoonde afsluitcode 1, en na de query op example.com was die 0.

Met -type=aaaa wordt alleen het AAAA-record opgevraagd. Op example.com gaf dat alleen de twee IPv6-adressen, zonder IPv4-adres.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 9   +   9   =