Android

Dig commando in linux (dns lookup)

Using the dig command to troubleshoot and solve DNS problems

Using the dig command to troubleshoot and solve DNS problems

Inhoudsopgave:

Anonim

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

sudo yum install bind-utils

Installeer dig op Arch Linux

sudo pacman -S bind-tools

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:

  1. 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: +cmd

    Het 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: 5

    Deze 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: 4096

    In de sectie "VRAAG" toont dig onze zoekopdracht (vraag). Standaard vraagt dig om het A-record.

    ;; QUESTION SECTION:;linux.org. IN A

    U kunt deze sectie uitschakelen met de optie +noquestion .

    Het gedeelte "ANTWOORD" geeft ons een antwoord op onze vraag. Zoals we al vermeldden, zal dig standaard het A-record aanvragen. Hier linux.org het domein linux.org naar het 104.18.59.123 IP-adres.

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    Normaal 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:3b82

    De optie +noadditional schakelt 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: 212

    U 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 .

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:

~ /.Digrc

+nocmd +noall +answer

Conclusie

dig is een opdrachtregelprogramma voor het opvragen van DNS-informatie en het oplossen van DNS-gerelateerde problemen.

graaf terminal