Using the dig command to troubleshoot and solve DNS problems
Inhoudsopgave:
digInstalleren- Installeer
digop Ubuntu en Debian - Installeer
digop CentOS en Fedora - Installeer
digop Arch Linux - Inzicht in de Dig Output
- Alleen het antwoord afdrukken
- 1. Krijg een kort antwoord
- 2. Krijg een gedetailleerd antwoord
- Zoekopdrachtspecifieke naamserver
- Vraag een recordtype aan
- 1. Query A-records
- 2. Opvragen van CNAME-records
- 3. TXT-records opvragen
- 4. MX-records opvragen
- 5. Opvragen van NS-records
- 6. Alle records opvragen
- Reverse DNS Lookup
- Bulkquery's
- Het .digrc-bestand
- Conclusie
Dig (Domain Information Groper) is een krachtig opdrachtregelprogramma voor het doorzoeken van DNS-naamservers.
Met de opdracht
dig
kunt u informatie opvragen over verschillende DNS-records, waaronder hostadressen, e-mailuitwisselingen en nameservers. Het is de meest gebruikte tool onder systeembeheerders voor het oplossen van DNS-problemen vanwege de flexibiliteit en het gebruiksgemak.
In deze zelfstudie laten we u zien hoe u het hulpprogramma
dig
kunt gebruiken door praktische voorbeelden en gedetailleerde uitleg van de meest voorkomende opties voor
dig
.
dig
Installeren
Om te controleren of de
dig
beschikbaar is op uw systeemtype:
dig -v
De output zou er ongeveer zo uit moeten zien:
DiG 9.11.3-1ubuntu1.1-Ubuntu
Als
dig
niet aanwezig is op uw systeem, zal het bovenstaande commando afdrukken: dig: command not not found. U kunt de
dig
tool eenvoudig installeren met behulp van de pakketbeheerder van uw distro.
Installeer
dig
op Ubuntu en Debian
sudo apt update && sudo apt install dnsutils
Installeer
dig
op CentOS en Fedora
Installeer
dig
op Arch Linux
Inzicht in de Dig Output
In zijn eenvoudigste vorm, wanneer gebruikt om een enkele host (domein) te bevragen zonder aanvullende argumenten, is het dig commando behoorlijk uitgebreid.
In het volgende voorbeeld voeren we een query uit om informatie over het
linux.org
domein op te halen.
dig linux.org
De output zou er ongeveer zo uit moeten zien:

Laten we sectie voor sectie gaan en de uitvoer van het
dig
commando uitleggen:
-
De eerste regel van de uitvoer drukt de geïnstalleerde dig-versie af en de query die werd aangeroepen. De tweede regel toont de globale opties (standaard alleen cmd).
; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmdHet eerste gedeelte bevat technische details over het antwoord dat is ontvangen van de aangezochte autoriteit (DNS-server). De koptekst toont de opcode (de actie uitgevoerd door dig) en de status van de actie. In dit voorbeeld is de status
NOERROR, wat betekent dat de aangezochte autoriteit de vraag zonder probleem heeft gediend.;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5Deze sectie kan worden verwijderd met de optie
+nocomments, waarmee ook de headers van een andere sectie worden uitgeschakeld.De pseudo-sectie "OPT" wordt standaard alleen weergegeven in de nieuwere versies van het dig-hulpprogramma. U kunt hier informatie vinden over de uitbreidingsmechanismen voor DNS (EDNS).
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096In de sectie "VRAAG" toont
digonze zoekopdracht (vraag). Standaard vraagtdigom het A-record.;; QUESTION SECTION:;linux.org. IN AU kunt deze sectie uitschakelen met de optie
+noquestion.Het gedeelte "ANTWOORD" geeft ons een antwoord op onze vraag. Zoals we al vermeldden, zal
digstandaard het A-record aanvragen. Hierlinux.orghet domeinlinux.orgnaar het104.18.59.123IP-adres.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123Normaal gesproken wilt u het antwoord niet uitschakelen, maar u kunt dit gedeelte uit de uitvoer verwijderen met de optie
+noanswer.De sectie "AUTHORITY" vertelt ons welke server (s) bevoegd zijn voor het beantwoorden van DNS-vragen over het aangevraagde domein.
;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.U kunt dit gedeelte van de uitvoer uitschakelen met de optie
+noauthority.De sectie "AANVULLEND" geeft ons informatie over de IP-adressen van de gezaghebbende DNS-servers die worden weergegeven in de sectie Autoriteit.
;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82De optie
+noadditionalschakelt het extra gedeelte van een antwoord uit.Het laatste gedeelte van de dig-uitvoer bevat statistieken over de query.
;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212U kunt dit onderdeel uitschakelen met de optie
+nostats.
Alleen het antwoord afdrukken
In de meeste gevallen wilt u alleen een snel antwoord op uw graafvraag krijgen.
1. Krijg een kort antwoord
Gebruik de optie
+short
om een kort antwoord op uw vraag te krijgen:
dig linux.org +short
104.18.59.123 104.18.58.123
De uitvoer bevat alleen de IP-adressen van het A-record.
2. Krijg een gedetailleerd antwoord
Schakel voor een meer gedetailleerd antwoord alle resultaten uit met de opties
+noall
en schakel vervolgens alleen het antwoordgedeelte met de optie
+answer
in.
dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123
Zoekopdrachtspecifieke naamserver
Als er geen naamserver is opgegeven, gebruikt
dig
de servers die worden vermeld in het bestand
/etc/resolv.conf
.
Als u een naamserver wilt opgeven waartegen de query wordt uitgevoerd, gebruikt u het symbool
@
(at) gevolgd door het IP-adres of de hostnaam van de naamserver.
Om bijvoorbeeld de Google nameserver (8.8.8.8) op te vragen voor informatie over het
linux.org
domein dat u zou gebruiken:
dig linux.org @8.8.8.8
; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70
Vraag een recordtype aan
Met Dig kunt u elke geldige DNS-query uitvoeren door het recordtype aan het einde van de query toe te voegen. In de volgende sectie laten we u voorbeelden zien van hoe u kunt zoeken naar de meest voorkomende records, zoals A (het IP-adres), CNAME (canonieke naam), TXT (tekstrecord), MX (mailuitwisselaar) en NS (naamservers).
1. Query A-records
Gebruik de optie a om een lijst met alle adressen voor een domeinnaam te krijgen:
dig +nocmd google.com a +noall +answer
google.com. 128 IN A 216.58.206.206
Zoals u al weet, vraagt dig om het A-record als er geen DNS-recordtype is opgegeven. U kunt ook het A-record opvragen zonder de optie a op te geven.
2. Opvragen van CNAME-records
Gebruik de optie
cname
om de alias-domeinnaam te vinden:
dig +nocmd mail.google.com cname +noall +answer
mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. TXT-records opvragen
Gebruik de optie
txt
om alle TXT-records voor een specifiek domein op te halen:
dig +nocmd google.com txt +noall +answer
google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
4. MX-records opvragen
Gebruik de optie
mx
om een lijst met alle e-mailservers voor een specifiek domein te krijgen:
dig +nocmd google.com mx +noall +answer
google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.
5. Opvragen van NS-records
Gebruik de optie
ns
om de gezaghebbende nameservers voor ons specifieke domein te vinden:
dig +nocmd google.com ns +noall +answer
google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.
6. Alle records opvragen
Gebruik de
any
optie om een lijst met alle DNS-records voor een specifiek domein te krijgen:
dig +nocmd google.com any +noall +answer
google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60
Reverse DNS Lookup
Gebruik de optie
-x
om de hostnaam op te vragen die aan een specifiek IP-adres is gekoppeld.
Als u bijvoorbeeld een reverse lookup wilt uitvoeren op
208.118.235.148
u:
dig -x 208.118.235.148 +noall +answer
Zoals u kunt zien in de onderstaande output is het IP-adres
208.118.235.148
geassocieerd met de hostnaam
wildebeest.gnu.org
.
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.
Bulkquery's
In het volgende voorbeeld ondervragen we de domeinen die worden vermeld in het bestand
domains.txt
.
lxer.com linuxtoday.com tuxmachines.org
dig -f domains.txt +short
108.166.170.171 70.42.23.121 204.68.122.43
Het.digrc-bestand
Het gedrag van de opdracht dig kan worden geregeld door opties voor gebruikers in te stellen in het bestand
${HOME}/.digrc
.
Als het
.digrc
bestand aanwezig is in de
.digrc
van de gebruiker, worden de daarin opgegeven opties toegepast vóór de argumenten van de opdrachtregel.
Als u bijvoorbeeld alleen het antwoordgedeelte wilt weergeven, opent u uw teksteditor en maakt u het volgende
~/.digrc
bestand:
Conclusie
dig
is een opdrachtregelprogramma voor het opvragen van DNS-informatie en het oplossen van DNS-gerelateerde problemen.
Wat is DNS-lookup en hoe werkt DNS-lookup
Het artikel beschrijft het concept van een domein. Het antwoord is wat een DNS- of Domain Name System is, voordat er wordt gesproken over hoe DNS-lookup werkt.
Chmod commando in linux (bestandsrechten)
In Linux wordt toegang tot de bestanden beheerd via de bestandsrechten, attributen en eigendom. Deze tutorial behandelt het gebruik van de opdracht chmod om de toegangsrechten van bestanden en mappen te wijzigen.
Pwd commando in linux (huidige werkmap)
De huidige werkmap is de map waarin de gebruiker momenteel werkt. In dit artikel laten we u zien hoe u uw huidige werkmap kunt bepalen met de opdracht pwd







