Android

Dig kommando i Linux (dns oppslag)

Using the dig command to troubleshoot and solve DNS problems

Using the dig command to troubleshoot and solve DNS problems

Innholdsfortegnelse:

Anonim

Dig (Domain Information Groper) er et kraftig kommandolinjeverktøy for spørring av DNS-navneservere.

Med dig kommandoen kan du spørre om informasjon om forskjellige DNS-poster, inkludert vertsadresser, e-postutveksling og navneservere. Det er det mest brukte verktøyet blant systemadministratorer for feilsøking av DNS-problemer på grunn av dets fleksibilitet og brukervennlighet.

I denne opplæringen vil vi vise deg hvordan du bruker dig gjennom praktiske eksempler og detaljerte forklaringer på de vanligste dig .

Installerer dig

Slik sjekker du om dig kommandoen er tilgjengelig på systemtypen:

dig -v

Utgangen skal se slik ut:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Hvis dig ikke er til stede på systemet ditt, vil kommandoen over skrive ut "dig: kommando ikke funnet". Du kan enkelt installere dig ved å bruke pakkehåndtereren til din distro.

Installer dig på Ubuntu og Debian

sudo apt update && sudo apt install dnsutils

Installer dig på CentOS og Fedora

sudo yum install bind-utils

Installer dig på Arch Linux

sudo pacman -S bind-tools

Forstå Dig Output

I sin enkleste form, når du brukes til å spørre om en enkelt vert (domene) uten ytterligere argumenter, er dig-kommandoen ganske fullstendig.

I eksemplet linux.org utfører vi et spørsmål for å hente informasjon om linux.org domenet.

dig linux.org

Utgangen skal se slik ut:

La oss gå seksjon for seksjon og forklare utdataet fra dig kommandoen:

  1. Den første linjen i utskriften skriver ut den installerte dig-versjonen, og spørringen som ble påberopt. Den andre linjen viser de globale alternativene (som standard bare cmd).

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

    Den første delen inneholder tekniske detaljer om svaret mottatt fra den forespurte myndigheten (DNS-server). Overskriften viser opoden (handlingen utført av dig) og statusen til handlingen. I dette eksemplet er status NOERROR , noe som betyr at den forespurte myndigheten NOERROR spørringen uten problemer.

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

    Denne delen kan fjernes ved å bruke +nocomments alternativet, som også deaktiverer noen andre seksjons overskrifter.

    Pseudoseksjonen “OPT” vises som standard bare i de nyere versjonene av graveverktøyet. Du kan om utvidelsesmekanismer for DNS (EDNS) her.

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

    I "SPØRSMÅL" -delen viser dig spørringen (spørsmålet). Som standard ber dig om A-posten.

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

    Du kan deaktivere denne delen ved å bruke +noquestion alternativet.

    "SVAR" -delen gir oss svar på spørsmålet vårt. Som vi allerede har nevnt, vil dig standard be A-posten. Her peker domenet linux.org til 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

    Vanligvis vil du ikke slå av svaret, men du kan fjerne denne delen fra utdataene med +noanswer alternativet.

    "Autoritet" -delen forteller oss hvilke server (er) som er autoriteten for å svare på DNS-spørsmål om det spørrede domenet.

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

    Du kan deaktivere denne delen av utdataene med +noauthority alternativet.

    "TILLEGG" -delen gir oss informasjon om IP-adressene til de autoritative DNS-serverne som er vist i autoritetsdelen.

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

    Alternativet +noadditional deaktiverer den ekstra delen av et svar.

    Den siste delen av graveutgangen inkluderer statistikk om spørringen.

    ;; 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 deaktivere denne delen med +nostats alternativet.

Skriver ut bare svaret

I de fleste tilfeller ønsker du bare å få et raskt svar på gravesøket ditt.

1. Få et kort svar

For å få et kort svar på spørringen, bruk +short kortalternativet:

dig linux.org +short

104.18.59.123 104.18.58.123

Utgangen vil bare omfatte IP-adressene til A-posten.

2. Få et detaljert svar

For mer detaljert svar, slå av alle resultatene ved å bruke alternativene +noall , og slå deretter på bare +noall med +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

Spørringsspesifikk navneserver

Hvis det ikke er angitt noen navneserver, bruker du som standard serverne som er oppført i /etc/resolv.conf .

For å spesifisere en navneserver som spørringen skal kjøres mot, bruker du @ (at) -symbolet etterfulgt av navneserverens IP-adresse eller vertsnavn.

For å spørre om Googles navneserver (8.8.8.8) for informasjon om linux.org domenet du vil bruke:

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

Spørre en posttype

Med Dig kan du utføre et gyldig DNS-spørsmål ved å legge inn posttypen til slutten av spørringen. I det følgende avsnittet vil vi vise deg eksempler på hvordan du søker etter de vanligste postene, for eksempel A (IP-adressen), CNAME (kanonisk navn), TXT (tekstoppføring), MX (e-postveksler) og NS (navneservere).

1. Spørring A poster

Hvis du vil få en liste over alle adressene for et domenenavn, bruker du alternativet a:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Som du allerede vet, vil ingen A-posten be om A-posten hvis ingen DNS-posttype er spesifisert. Du kan også spørre A-posten uten å spesifisere a alternativet.

2. Spørring av CNAME-poster

For å finne domenenavnet til aliaset, bruk alternativet cname :

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

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

3. Spørring om TXT-poster

Bruk alternativet txt for å hente alle TXT-postene for et bestemt domene:

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. Spørring av MX-poster

For å få en liste over alle e-postserverne for et spesifikt domene bruker 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. Spørring av NS-poster

For å finne de autoritative navneservere for vårt spesifikke domene bruker 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. Forespørsel om alle poster

Bruk et any alternativ for å få en liste over alle DNS-poster for et bestemt domene:

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

Omvendt DNS-oppslag

For å spørre vertsnavnet tilknyttet en spesifikk IP-adresse, bruk alternativet -x .

For å utføre et omvendt oppslag på 208.118.235.148 , vil du for eksempel bruke:

dig -x 208.118.235.148 +noall +answer

Som du kan se fra utgangen under IP-adressen 208.118.235.148 er assosiert med vertsnavnet 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.

Bulk Queries

I eksempelet nedenfor spør vi etter domenene som er oppført i domains.txt filen.

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

${HOME}/.digrc grave-kommandoen kan kontrolleres ved å sette opp alternativer per bruker i filen ${HOME}/.digrc .

Hvis .digrc filen er til stede i brukerens hjemmekatalog, blir alternativene spesifisert i den brukt før kommandolinjeargumentene.

Hvis du for eksempel bare vil vise ~/.digrc , åpner du tekstredigereren og oppretter følgende ~/.digrc fil:

~ /.Digrc

+nocmd +noall +answer

Konklusjon

dig er et kommandolinjeverktøy for spørring av DNS-informasjon og feilsøking av DNS-relaterte problemer.

grave terminal