4 Vital Dig Command-exempel att känna till som sysadmin eller utvecklare

By rik

Som systemadministratör ser allt bra ut tills det plötsligt inte gör det. I sådana akuta situationer är det dessa specifika kommandon som kommer till användning. Håll dem i åtanke.

Systemadministratörer utför ett anmärkningsvärt arbete dagligen. Det grundläggande kravet för en sysadmin att vara tillgänglig dygnet runt är något som jag beundrar oerhört.

Men idag ska vi inte granska deras arbetsbeskrivningar, utan istället fokusera på deras favoritverktyg för att lösa DNS-relaterade problem.

Vad är egentligen ”dig”-kommandon?

Dig, en förkortning av Domain Information Groper, är en av de snabbaste metoderna för att ställa frågor till DNS-servrar. Verktyget låter oss undersöka vad som fungerar, och vad som eventuellt inte gör det.

Med hjälp av lättanvända textkommandon kan man kontrollera serverns IP-adress, namnservrar, e-postutbyte, TTL-värden och mycket mer.

Innan du börjar med grundläggande ”dig”-kommandon, kontrollera först att du har verktyget installerat. Använd följande kommando:

$ dig -v

Om installationen lyckats kommer du att se ett resultat som visar din ”dig”-version, likt detta:

DiG 9.18.1-1ubuntu1-Ubuntu

Om du inte får ett liknande svar behöver du installera ”dig”-verktyget först.

För användare av Ubuntu och Debian, ange:

$ sudo apt-get install dnsutils

Använd detta kommando istället:

$ sudo yum install bind-utils

…om du använder CentOS eller RHEL.

Efter installationen, kör `dig -v` igen för att bekräfta att allt fungerar som det ska.

Låt oss nu fortsätta till nästa avsnitt och titta på några ”dig”-kommandon som kan vara till nytta för dig som systemadministratör.

Kontrollera IP-adressen

En av de mest grundläggande funktionerna är att kontrollera serverns IP-adress som är kopplad till ett specifikt domännamn.

Vi börjar med kommandot `dig adminvista.com.com`.

$ dig adminvista.com.com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> adminvista.com.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;adminvista.com.com.			IN	A

;; ANSWER SECTION:
adminvista.com.com.		67	IN	A	172.66.43.163
adminvista.com.com.		67	IN	A	172.66.40.93

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:29:58 UTC 2022

Det första som är värt att notera är ”status: NOERROR” i avsnittet ”Got answer”. Detta bekräftar att operationen genomfördes utan problem.

Informationen vi sökte efter i denna fråga är serverns IP-adress. Den visas i ”Answer”-sektionen: 172.66.40.93 (primär server) och 172.66.43.163 (failover-server).

Din ursprungliga fråga syns i ”Question”-sektionen.

Det sista avsnittet ger lite statistik om frågan.

Men denna information är ofta överflödig.

För att få ett mer koncentrerat svar kan du använda följande kommando:

$ dig adminvista.com.com +noall +answer
adminvista.com.com.		53	IN	A	172.66.43.163
adminvista.com.com.		53	IN	A	172.66.40.93

Här utesluter `+noall` all information förutom det förväntade svaret som levereras via `+answer`.

Ett ännu kortare svar får man genom:

$ dig adminvista.com.com +short
172.66.43.163
172.66.40.93

Detta var den grundläggande frågan som returnerar DNS A-posten. Låt oss nu se på några andra användningsområden.

Hitta specifika DNS-poster

Namnservrarna, dvs de auktoritativa DNS-servrarna för en domän, kan lokaliseras med variabeln `ns`.

$ dig adminvista.com.com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.

På samma sätt returnerar variabeln `mx` e-postservrarna tillsammans med deras prioriteringar.

$ dig adminvista.com.com mx +noall +answer
adminvista.com.com.		300	IN	MX	1 aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	5 alt2.aspmx.l.google.com.

På liknande sätt kan `txt`, `aaaa`, `cname` och andra variabler användas med ”dig”-kommandot för att få fram olika DNS-poster.

Spåra DNS

Som rubriken antyder, undersöker ”Trace DNS” sökvägen från rotnamnservrarna, genom auktoritativa namnservrar, ända till domänens IP-adress.

$ dig adminvista.com.com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> adminvista.com.com +trace
;; global options: +cmd
.			322660	IN	NS	a.root-servers.net.
.			322660	IN	NS	b.root-servers.net.
.			322660	IN	NS	c.root-servers.net.
.			322660	IN	NS	d.root-servers.net.
.			322660	IN	NS	e.root-servers.net.
.			322660	IN	NS	f.root-servers.net.
.			322660	IN	NS	g.root-servers.net.
.			322660	IN	NS	h.root-servers.net.
.			322660	IN	NS	i.root-servers.net.
.			322660	IN	NS	j.root-servers.net.
.			322660	IN	NS	k.root-servers.net.
.			322660	IN	NS	l.root-servers.net.
.			322660	IN	NS	m.root-servers.net.
;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms

com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			86400	IN	DS	30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.			86400	IN	RRSIG	DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw==
;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms

adminvista.com.com.		172800	IN	NS	olga.ns.cloudflare.com.
adminvista.com.com.		172800	IN	NS	todd.ns.cloudflare.com.
adminvista.com.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
adminvista.com.com.		86400	IN	RRSIG	DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA==
;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms

adminvista.com.com.		300	IN	A	172.66.43.163
adminvista.com.com.		300	IN	A	172.66.40.93
adminvista.com.com.		300	IN	RRSIG	A 13 2 300 20221110051242 20221108031242 34505 adminvista.com.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

Du kan också få ett kortare svar med hjälp av `+short` eller `+noall +answer`.

Omvänd DNS-sökning

Omvänd DNS-sökning visar PTR-posten som är kopplad till en specifik IP-adress. Det är motsatsen till en DNS A-post och används för att matcha IP-adresser till domännamn.

Det kommer inte att finnas ett svarsavsnitt om ett domännamn saknar en DNS PTR-post.

Kommandot som används är `dig -x IP-adress`.

[email protected]:~$ dig yahoo.com +short
74.6.143.26
74.6.231.20
98.137.11.164
98.137.11.163
74.6.143.25
74.6.231.21
[email protected]:~$ dig -x 74.6.143.26

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;26.143.6.74.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
26.143.6.74.in-addr.arpa. 600	IN	PTR	media-router-fp74.prod.media.vip.bf1.yahoo.com.

;; AUTHORITY SECTION:
143.6.74.in-addr.arpa.	172800	IN	NS	ns3.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns4.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns5.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns2.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns1.yahoo.com.

;; Query time: 192 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:17:08 UTC 2022
;; MSG SIZE  rcvd: 203

Som du kan se i svaret är domännamnet `media-router-fp74.prod.media.vip.bf1.yahoo.com/` kopplat till den primära IP-adressen 74.6.143.26.

Om du besöker den här URL:en kommer du faktiskt att omdirigeras till Yahoos startsida.

Detta fungerar dock inte nödvändigtvis för alla webbhotell. I vissa fall leder dessa långa URL:er inte till något.

Fråga specifika DNS-servrar

Ibland kan det vara nödvändigt att ansluta till en viss server för DNS-frågor. Detta kan enkelt uppnås genom att ange `@DNS-serverns IP-adress`, vilket gör att vi kan välja en specifik DNS-server för en viss fråga.

$ dig @1.1.1.1 adminvista.com.com +noall +answer +stats
adminvista.com.com.		300	IN	A	172.66.40.93
adminvista.com.com.		300	IN	A	172.66.43.163
;; Query time: 156 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Wed Nov 09 04:18:56 UTC 2022
;; MSG SIZE  rcvd: 74

Du kan verifiera att det fungerar genom att titta i statistiksektionen, där du ser ”Server: 1.1.1.1”, som är Cloudflares DNS-server.

På samma sätt kan vi fråga Googles DNS-servrar (8.8.8.8):

$ dig @8.8.8.8 adminvista.com.com mx +noall +answer +stats
adminvista.com.com.		300	IN	MX	1 aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
adminvista.com.com.		300	IN	MX	5 alt2.aspmx.l.google.com.
;; Query time: 44 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Nov 09 04:23:16 UTC 2022
;; MSG SIZE  rcvd: 157

Låt oss gräva djupare ⛏️

Som namnet antyder används ”dig”-kommandot för att ”gräva” fram DNS-information och hitta relaterade problem. ”Dig”-kommandon är vanligtvis snabba och lätta att komma ihåg.

Inte bara det, utan du kan även installera ”dig”-verktyg på både Mac och Windows, vilket gör dem universellt användbara.

PS: Nu när du är här skulle det vara synd att inte tipsa dig om adminvista.com, ett komplett bibliotek för systemadministratörer, som erbjuder lösningar på dina sysadmin-relaterade problem.