Dig je zkratka pro „Domain Information Groper“ používané ke shromažďování informací DNS. Obecně jej používají správci systému nebo sítě pro ověřování vyhledávání DNS a odstraňování problémů souvisejících s DNS. Ve výchozím nastavení odesílá příkaz dig dotaz na server DNS uvedený v /etc/resolv.com. Umožňuje také dotazovat se na konkrétní server DNS.
V tomto tutoriálu vám na praktických příkladech ukážeme, jak používat příkaz dig.
Předpoklady
- Server Linux na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu, CentOS nebo Rocky Linux s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Nebo
dnf update -y
Krok 2 – Instalace dig
Pro operační systémy Debian a Ubuntu nainstalujte příkaz dig pomocí následujícího příkazu:
apt-get install dnsutils -y
Pro operační systémy CentOS a RHEL nainstalujte příkaz dig pomocí následujícího příkazu:
yum install bind9-utils -y
Po instalaci příkazu dig ověřte verzi dig pomocí následujícího příkazu:
dig -v
Ukázkový výstup:
DiG 9.9.5-3ubuntu0.19-Ubuntu
Krok 3 – Základní příkaz Dig
Spuštění příkazu dig bez jakýchkoli voleb zobrazí záznam A cílové domény.
Proveďte například vyhledávání DNS pro doménu ubuntu.org spusťte následující příkaz:
dig ubuntu.com
Ukázkový výstup:
; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> ubuntu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9230 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ubuntu.com. IN A ;; ANSWER SECTION: ubuntu.com. 77 IN A 91.189.88.181 ubuntu.com. 77 IN A 91.189.88.180 ;; Query time: 263 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Tue Aug 24 08:55:56 IST 2021 ;; MSG SIZE rcvd: 71
Ve výše uvedeném výstupu najdete hlavní informace v SEKCI ODPOVĚDI.
Krok 4 – Dotaz na konkrétní server DNS
Spuštění příkazu dig bez jakýchkoli voleb použije server DNS uvedený v souboru /etc/resolv.conf. Můžete se také dotazovat na doménu pomocí konkrétního serveru DNS.
Spusťte následující příkaz pro dotaz na doménu ubuntu.com pomocí DNS 4.4.4.4:
dig @8.8.4.4 ubuntu.com
Ukázkový výstup:
; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25217 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;ubuntu.com. IN A ;; ANSWER SECTION: ubuntu.com. 40 IN A 91.189.88.181 ubuntu.com. 40 IN A 91.189.88.180 ;; Query time: 130 msec ;; SERVER: 8.8.4.4#53(8.8.4.4) ;; WHEN: Tue Aug 24 09:00:48 IST 2021 ;; MSG SIZE rcvd: 71
Krok 5 – Dotazování na VŠECHNY typy záznamů DNS
Pokud chcete získat informace o všech záznamech DNS, spusťte následující příkaz:
dig @8.8.4.4 ubuntu.com ANY +noall +answer
Ukázkový výstup:
; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com ANY +noall +answer ; (1 server found) ;; global options: +cmd ubuntu.com. 3599 IN SOA ns1.canonical.com. hostmaster.canonical.com. 2018054375 10800 3600 604800 3600 ubuntu.com. 3599 IN MX 10 mx.canonical.com. ubuntu.com. 599 IN NS ns1.canonical.com. ubuntu.com. 599 IN NS ns2.canonical.com. ubuntu.com. 599 IN NS ns3.canonical.com. ubuntu.com. 59 IN AAAA 2001:67c:1360:8001::2b ubuntu.com. 59 IN AAAA 2001:67c:1360:8001::2c ubuntu.com. 59 IN A 91.189.88.180 ubuntu.com. 59 IN A 91.189.88.181
Krok 6 – Sekce odpovědí pouze na dotaz
Můžete použít možnosti +noall a +odpověď zobrazíte pouze sekci odpovědí.
dig @8.8.4.4 ubuntu.com +noall +answer
Ukázkový výstup:
; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com +noall +answer ; (1 server found) ;; global options: +cmd ubuntu.com. 12 IN A 91.189.88.181 ubuntu.com. 12 IN A 91.189.88.180
Krok 7 – Dotaz na záznam
„Záznam“ v DNS se používá ke spojení názvu domény s IP adresou. Můžete použít +krátké možnost dotazu na záznam zadané domény.
dig ubuntu.com A +short
Ukázkový výstup:
91.189.88.180 91.189.88.181
Krok 8 – Dotaz na záznam NS
Záznam NS obsahuje informace o seznamu autoritativních serverů DNS pro název domény. K dotazu na záznamy NS můžete použít volbu NS:
dig +nocmd ubuntu.com NS +noall +answer
Ukázkový výstup:
ubuntu.com. 714 IN NS ns2.canonical.com. ubuntu.com. 714 IN NS ns3.canonical.com. ubuntu.com. 714 IN NS ns1.canonical.com.
Krok 9 – Dotaz na záznam MX
Záznam MX je záznam pro výměnu pošty používaný k určení poštovního serveru. K dotazu na záznam MX můžete použít možnost MX:
dig +nocmd ubuntu.com MX +noall +answer
Ukázkový výstup:
ubuntu.com. 4502 IN MX 10 mx.canonical.com.
Krok 10 – Dotazování záznamu TTL
K dotazu na záznam TTL můžete použít volbu TTL:
dig +nocmd ubuntu.com TTL +noall +answer
Ukázkový výstup:
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50516 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ubuntu.com. IN A ;; ANSWER SECTION: ubuntu.com. 59 IN A 91.189.88.180 ubuntu.com. 59 IN A 91.189.88.181 ;; Query time: 4 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Tue Aug 24 09:24:32 IST 2021 ;; MSG SIZE rcvd: 71
Krok 11 – Proveďte zpětné vyhledávání
Zpětné vyhledávání DNS zobrazí informace o doméně a názvu hostitele spojeného s IP adresou. K provedení zpětného vyhledávání DNS můžete použít volbu -x následovanou IP adresou:
dig +answer -x 8.8.8.8
Ukázkový výstup:
; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> +answer -x 8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58576 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;8.8.8.8.in-addr.arpa. IN PTR ;; ANSWER SECTION: 8.8.8.8.in-addr.arpa. 7200 IN PTR dns.google. ;; Query time: 580 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Tue Aug 24 09:27:00 IST 2021 ;; MSG SIZE rcvd: 73
Závěr
Ve výše uvedené příručce jsme na různých příkladech vysvětlili, jak používat příkaz dig k dotazování serveru DNS. Nyní můžete provádět vyhledávání DNS pro domény pomocí různých možností. Vyzkoušejte to ještě dnes na svém VPS od Altantic.Net.