Android

Gräv kommando i Linux (dns-uppslag)

Using the dig command to troubleshoot and solve DNS problems

Using the dig command to troubleshoot and solve DNS problems

Innehållsförteckning:

Anonim

Dig (Domain Information Groper) är ett kraftfullt kommandoradsverktyg för att fråga DNS-namnservrar.

Med dig kommandot kan du fråga information om olika DNS-poster, inklusive värdadresser, e-postutbyte och namnservrar. Det är det mest använda verktyget bland systemadministratörer för felsökning av DNS-problem på grund av dess flexibilitet och användarvänlighet.

I denna handledning visar vi dig hur du använder dig genom praktiska exempel och detaljerade förklaringar av de vanligaste dig .

Installera dig

För att kontrollera om dig kommandot är tillgängligt på din systemtyp:

dig -v

Utgången ska se ut så här:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Om dig inte finns i ditt system kommer kommandot ovan att skriva ut "dig: kommando hittades inte". Du kan enkelt installera gräverktyget med paketansvarig för din distro.

Installera dig på Ubuntu och Debian

sudo apt update && sudo apt install dnsutils

Installera dig på CentOS och Fedora

sudo yum install bind-utils

Installera dig på Arch Linux

sudo pacman -S bind-tools

Förstå grävutgången

I sin enklaste form, när den används för att fråga en enda värd (domän) utan några extra argument, är kommandot dig ganska ordalt.

I följande exempel utför vi en fråga för att hämta information om linux.org domänen.

dig linux.org

Utgången ska se ut så här:

Låt oss gå sektion för sektion och förklara utgången från dig kommandot:

  1. Den första raden i utskriften skriver ut den installerade grävversionen och frågan som åberopades. Den andra raden visar de globala alternativen (som standard bara cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    Det första avsnittet innehåller tekniska detaljer om svaret från den begärda myndigheten (DNS-server). Rubriken visar opoden (åtgärden som utförs av dig) och åtgärdens status. I det här exemplet är status NOERROR , vilket innebär att den begärda myndigheten visade frågan utan problem.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Det här avsnittet kan tas bort med alternativet +nocomments , vilket också inaktiverar vissa rubriker för andra avsnitt.

    Pseudosektionen “OPT” visas som standard bara i de nyare versionerna av grävverktyget. Du kan om förlängningsmekanismerna för DNS (EDNS) här.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    I avsnittet "FRÅGA" visar dig vår fråga (fråga). Som standard begär dig gra A-posten.

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

    Du kan inaktivera det här avsnittet med alternativet +noquestion .

    Avsnittet "SVAR" ger oss ett svar på vår fråga. Som vi redan nämnt kommer dig standard att begära A-posten. Här pekar domänen linux.org till IP-adressen 104.18.59.123 .

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

    Vanligtvis vill du inte stänga av svaret, men du kan ta bort detta avsnitt från utgången med +noanswer alternativet.

    Avsnittet "MYNDIGHET" berättar vilka server som är behöriga för att svara på DNS-frågor om den frågade domänen.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    Du kan inaktivera detta avsnitt av utgången med alternativet +noauthority .

    Avsnittet "TILLÄGG" ger oss information om IP-adresserna för de auktoritativa DNS-servrar som visas i myndighetsavsnittet.

    ;; 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

    +noadditional avaktiverar det ytterligare avsnittet av ett svar.

    Det sista avsnittet av grävuttaget innehåller statistik om frågan.

    ;; 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

    Du kan inaktivera den här delen med alternativet +nostats .

Skriva bara ut svaret

I de flesta fall vill du bara få ett snabbt svar på din grävningsfråga.

1. Få ett kort svar

För att få ett kort svar på din fråga använder du +short kortalternativet:

dig linux.org +short

104.18.59.123 104.18.58.123

Utgången kommer endast att inkludera IP-adresserna för A-posten.

2. Få ett detaljerat svar

För mer detaljerat svar, stäng av alla resultat med +noall alternativen och +noall sedan bara +noall alternativet +answer .

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

Frågespecifik namnserver

Om ingen namnserver anges använder du som standard de servrar som anges i filen /etc/resolv.conf .

Om du vill ange en namnserver mot vilken frågan ska köras använder du symbolen @ (at) följt av namnserverns IP-adress eller värdnamn.

Om du till exempel vill fråga Googles namnserver (8.8.8.8) för information om linux.org domänen skulle du använda:

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

Fråga en posttyp

Med Dig kan du utföra alla giltiga DNS-frågor genom att lägga till posttypen i slutet av frågan. I följande avsnitt visar vi dig exempel på hur du söker efter de vanligaste posterna, till exempel A (IP-adressen), CNAME (kanoniskt namn), TXT (textpost), MX (postväxlare) och NS (namnservrar).

1. Fråga A-poster

För att få en lista med alla adresser för ett domännamn använder du alternativet a:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Som ni redan vet, kommer ingen DNS-posttyp att anges dig att begära A-posten. Du kan också fråga A-posten utan att ange a alternativ.

2. Fråga CNAME-poster

För att hitta alias-domännamnet använder du cname alternativet:

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Fråga efter TXT-poster

Använd txt alternativet för att hämta alla TXT-poster för en specifik domän:

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. Fråga MX-poster

För att få en lista över alla e-postservrar för en specifik domän använder du mx alternativet:

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. Fråga om NS-poster

För att hitta de auktoritära namnservrarna för vår specifika domän använder du alternativet ns :

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. Fråga alla poster

Använd any alternativ för att få en lista över alla DNS-poster för en specifik domän:

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

Omvänd DNS-uppslag

För att fråga värdnamnet associerat med en specifik IP-adress använder du -x alternativet.

Till exempel, för att utföra en omvänd uppslagning på 208.118.235.148 skulle du använda:

dig -x 208.118.235.148 +noall +answer

Som du kan se från utgången under IP-adressen 208.118.235.148 är associerad med värdnamnet 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.

Bulkfrågor

I följande exempel frågar vi domänerna som är listade i filen 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

.Digrc-filen

Gravkommandans beteende kan styras genom att ställa in alternativ per användare i ${HOME}/.digrc filen.

Om .digrc filen finns i användarens hemkatalog tillämpas de alternativ som anges i den före kommandoradsargumenten.

Om du till exempel bara vill visa svarsavsnittet öppnar du textredigeraren och skapar följande ~/.digrc fil:

~ /.Digrc

+nocmd +noall +answer

Slutsats

dig är ett kommandoradsverktyg för att fråga DNS-information och felsöka DNS-relaterade problem.

gräva terminal