Using the dig command to troubleshoot and solve DNS problems
Innehållsförteckning:
- Installera
dig - Installera
digpå Ubuntu och Debian - Installera
digpå CentOS och Fedora - Installera
digpå Arch Linux - Förstå grävutgången
- Skriva bara ut svaret
- 1. Få ett kort svar
- 2. Få ett detaljerat svar
- Frågespecifik namnserver
- Fråga en posttyp
- 1. Fråga A-poster
- 2. Fråga CNAME-poster
- 3. Fråga efter TXT-poster
- 4. Fråga MX-poster
- 5. Fråga om NS-poster
- 6. Fråga alla poster
- Omvänd DNS-uppslag
- Bulkfrågor
- .Digrc-filen
- Slutsats
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
Installera
dig
på Arch Linux
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:
-
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: +cmdDet 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: 5Det 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: 4096I avsnittet "FRÅGA" visar
digvår fråga (fråga). Som standard begärdiggra A-posten.;; QUESTION SECTION:;linux.org. IN ADu 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
digstandard att begära A-posten. Här pekar domänenlinux.orgtill IP-adressen104.18.59.123.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123Vanligtvis vill du inte stänga av svaret, men du kan ta bort detta avsnitt från utgången med
+noansweralternativet.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+noadditionalavaktiverar 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: 212Du 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
.
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:
Slutsats
dig
är ett kommandoradsverktyg för att fråga DNS-information och felsöka DNS-relaterade problem.
De flesta är medvetna om att Google Public DNS nyligen har lanserats. Om du vill kan du åsidosätta standard DNS-inställningar (Domain Name Server) på datorn så att du kan ange vilken DNS-server som används eller vilken IP-adress som ska användas för en viss domän.
Innan du ändrar DNS-inställningarna i Windows 8/7, för att använda Google eller någon DNS, var noga med att skriva ner aktuella serveradresser eller inställningar på en bit papper. Det är mycket viktigt att du behåller dessa nummer för säkerhetskopiering, om du behöver återvända till dem när som helst.
Chmod-kommando i Linux (filtillstånd)
I Linux hanteras åtkomst till filerna genom filtillstånd, attribut och äganderätt. Den här handboken beskriver hur du använder chmod-kommandot för att ändra åtkomstbehörigheter för filer och kataloger.
Chgrp-kommando i Linux (ändra grupp)
I Linux är varje fil associerad med en ägare och en grupp och har behörigheter som avgör vilka användare som kan läsa, skriva eller köra filen. Chgrpc-kommandot ändrar gruppägande av givna filer.







