4 жизненоважни примера за команда Dig, които трябва да знаете като системен администратор или програмист

Като системен администратор нещата изглеждат красиви само докато не изглеждат така. В тези моменти, предизвикани от криза, тези команди за копаене ще бъдат полезни. Останете на линия.

Системните администратори вършат страхотна работа всеки път. Дори най-елементарното изискване за работата на системния администратор да бъдеш на повикване 24/7 е нещо, което оценявам безгранично.

Но ние не сме тук, за да се потопим в работните им профили; вместо това проверете тяхното избрано оръжие за отстраняване на проблеми с DNS.

Какво представляват командите за копаене?

Съкратено от Domain Information Groper, командите Dig са един от най-бързите методи за запитване до DNS сървъри за това какво работи и какво не.

Можете да проверите IP адреса на сървъра, сървърите за имена, размяната на поща, да направите запитване за TTL и т.н., с лесни за запомняне текстове.

Преди да започнете с няколко основни команди за копаене, моля, проверете дали имате инсталирани помощни програми за копаене:

$ dig -v

Това трябва да се върне с резултат, указващ версията за копаене, като това:

DiG 9.18.1-1ubuntu1-Ubuntu

Ако не получите подобен отговор, първо трябва да инсталирате помощните програми Dig.

За хора, които използват Ubuntu и Debian, въведете:

$ sudo apt-get install dnsutils

И използвайте:

$ sudo yum install bind-utils

…ако сте на CentOS или RHEL.

След това стартирайте dig -v, за да сте сигурни, че инсталацията е преминала гладко.

И накрая, преминете към следващите раздели, за да разгледате няколко команди Dig, които да ви помогнат като системен администратор.

  Какво означава WDYM?

Проверете IP адреса

Това е един от най-простите, където проверяваме IP адреса на сървъра, който е в основата на име на домейн.

dig pctechbg.net.com е итерацията, с която ще започнем.

$ dig pctechbg.net.com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> pctechbg.net.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:
;pctechbg.net.com.			IN	A

;; ANSWER SECTION:
pctechbg.net.com.		67	IN	A	172.66.43.163
pctechbg.net.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

Първото важно нещо е състоянието: NOERROR в раздела Получих отговор в горната част. Това ни казва, че е минало добре без никакви проблеми.

Но информацията, за която направихме тази заявка, е IP адресът на сървъра. Споменава се в секцията с отговори 172.66.40.93 (основният сървър) и 172.66.43.163 (безопасният).

Освен това оригиналното ви изявление за заявка се намира под секцията Въпрос.

Последният раздел дава малко статистически данни за заявката.

Но това е ужасно много информация, не е необходима всеки път.

Следователно, можете да получите по-чист отговор на тази заявка, като въведете:

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

Тук отричаме всичко чрез +noall, само за да позволим очаквания отговор с +answer.

Човек може да получи още по-кратък отговор, като използва:

$ dig pctechbg.net.com +short
172.66.43.163
172.66.40.93

Това беше основната заявка, която връща DNS A записа; нека видим още няколко.

Намерете конкретни DNS записи

Сървърите за имена, авторитетният DNS сървър за домейн, могат да бъдат намерени чрез променливата ns.

$ dig pctechbg.net.com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.

По същия начин променливата mx отговаря с пощенските сървъри заедно с техните приоритети.

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

По същия начин txt, aaaa, cname и т.н. могат да се използват като командни променливи на dig за връщане на различни DNS записи.

  Поправете това приложение не поддържа указаната от договора грешка

Проследяване на DNS

Както се вижда от заглавието, Trace DNS проверява пътя от основните сървъри за имена, авторитетни сървъри за имена, до IP адреса на домейна.

$ dig pctechbg.net.com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> pctechbg.net.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

pctechbg.net.com.		172800	IN	NS	olga.ns.cloudflare.com.
pctechbg.net.com.		172800	IN	NS	todd.ns.cloudflare.com.
pctechbg.net.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
pctechbg.net.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

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

Като алтернатива можете да получите кратък отговор, като използвате променливи +short или +noall +answer.

Обратно DNS търсене

Обратното DNS търсене разкрива PTR записа, свързан с IP адреса. Това е обратното на DNS A запис и съпоставя IP адресите с името на домейна.

Въпреки това, няма да има раздел с отговори, ако име на домейн няма DNS PTR запис.

Командата, която се играе тук, е dig -x IP адрес.

[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

Както можете да видите, името на домейна в раздела Отговор, media-router-fp74.prod.media.vip.bf1.yahoo.com/, е свързано с основния си IP адрес 74.6.143.26.

  Как да осигурите непрекъсната сигурност за вашия сайт с помощта на AppTrana

И посещението на този URL всъщност ще ви изпрати до началната страница за търсене на Yahoo.

Това обаче може да не е вярно за всички уеб хостове; в някои случаи тези грозни, дълги URL адреси не решават нищо.

Запитване на конкретни DNS сървъри

Понякога искате да пингвате конкретен сървър за DNS заявки. Човек може лесно да постигне това, като добави IP адрес на @DNS сървър, като избере всеки DNS сървър за конкретна заявка.

$ dig @1.1.1.1 pctechbg.net.com +noall +answer +stats
pctechbg.net.com.		300	IN	A	172.66.40.93
pctechbg.net.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

Можете да проверите това в секцията със статистика, където се споменава сървър: 1.1.1.1, който принадлежи на Cloudflare.

По същия начин може да се направи заявка към DNS сървърите на Google (8.8.8.8):

$ dig @8.8.8.8 pctechbg.net.com mx +noall +answer +stats
pctechbg.net.com.		300	IN	MX	1 aspmx.l.google.com.
pctechbg.net.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
pctechbg.net.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
pctechbg.net.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
pctechbg.net.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

Нека да го разкопаем ⛏️

Както говори името, те се използват за извличане на DNS информация и идентифициране на свързани проблеми. Командите за копаене обикновено са бързи на работа и лесни за запомняне.

Да не говорим, че можете също да инсталирате помощни програми за копаене на Mac и Windows, което ги прави универсални в тяхното приложение.

PS: Докато сте тук, би било престъпно да не ви запозная с библиотеката на pctechbg.net Sysadmin, център за решения на едно гише за вашите главоболия на системния администратор.