nslookup-commando: gebruik en opties, records opvragen en een DNS-server kiezen
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.comServer: 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:93f3De 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.8Server: 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 reachedMet -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.8Server: 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:93f3Elk 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.8Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find example.com: SERVFAIL| Optie | Kopiëren | Uitleg |
|---|---|---|
| -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 | |
| -debug | Toont vraag en antwoord van het antwoordpakket, inclusief TTL | |
| -norecurse | Vraagt alleen de waarden van die server op, zonder via andere servers te gaan |
| Optie | Kopiëren | Uitleg |
|---|---|---|
| -query= | Dezelfde optie als -type, bepaalt het op te vragen recordtype | |
| -port= | Bepaalt de op te vragen poort, standaard 53 | |
| -version | Versie 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 · AAAA | IPv4-adres, IPv6-adres |
| MX | Server die mail ontvangt en de prioriteit |
| NS | Nameservers die de records van het domein beheren |
| TXT | Tekstwaarden zoals SPF |
| SOA | Primaire nameserver van de zone, beheerdersmail, serienummer, vernieuwingsintervallen |
| CNAME | Alias die naar een andere naam verwijst |
| PTR | Hostnaam die aan een IP-adres is gekoppeld (omgekeerd) |
| ANY | Vraagt alle records van die naam tegelijk op |
Mailservers controleert u met het MX-record.
nslookup -type=mx google.comServer: 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.comServer: 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.comServer: 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.comServer: 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.comServer: 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.comServer: 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.8Server: 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.8Server: 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:93f3De 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.comServer: 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:93f3Deze 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.invalidServer: 192.0.2.53
Address: 192.0.2.53#53
** server can't find example.invalid: NXDOMAINno-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.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
*** Can't find no-such-host.example.com: No answer5️⃣ 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.88.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:
> exitWissel 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
> exitquerytype 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/nslookupbind-utils-9.16.20-30.el9_8.2.x86_64Op 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/nslookupbind9-dnsutils: /usr/bin/nslookupOp RHEL-systemen installeert u het pakket bind-utils met het commando hieronder.
dnf install bind-utilsOp Debian-systemen installeert u het pakket bind9-dnsutils.
apt install bind9-dnsutilsIn hetzelfde pakket zitten ook dig en host. Alle drie de commando's vragen DNS op, maar hun uitvoer ziet er anders uit.
| Commando | Uitvoer | Waarvoor |
|---|---|---|
| nslookup | Server-regel + antwoord, interactieve modus | Meerdere namen en records na elkaar opvragen |
| dig | Alle secties van het antwoordpakket; met +short alleen de waarden | Alleen de waarden in een script uitlezen |
| host | Eén zin per record | A, AAAA en MX in één keer controleren |
host example.comexample.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.com104.20.23.154
172.66.147.243Om 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.
🔲 Simulator voor het nslookup-commando
In de simulator hieronder kunt u nslookup zelf invoeren en daarbij het recordtype en de DNS-server wisselen.
🔢 FAQ & aanbevolen content
DNS opvragen
Linux host-commando | commando voor DNS-opvraging
Een artikel over het vinden van het IP-adres van een hostnaam met het commando host en omgekeerd de hostnaam van een IP-adres.
Web opvragen
Sites om DNS-records te controleren en nameserverprestaties te meten
Een artikel over het controleren van DNS-recordwaarden vanuit meerdere regio's met whatsmydns en het vergelijken van de reactiesnelheid van DNS-servers met DNSPerf.
ℹ️ 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.