Dig je zkratka pro Domain Information Groper, která pomáhá při dotazování na informace DNS a také při odstraňování problémů s tím souvisejících. Příkaz dig je oblíbený nástroj pro správu sítě z příkazového řádku, který poskytuje informace o jmenném serveru a také hostitelské adrese a různých záznamech DNS, které pomocí příkazu dotazujeme. Je flexibilnější a má hrstku, která nahrazuje starší nástroje, jako je nslookup.
Zde v LinuxAPT, jako součást našich služeb správy serveru, pravidelně pomáháme našim zákazníkům provádět související dotazy týkající se monitorování serveru.
V této souvislosti se podíváme na různé záznamy DNS jako A, AAAA, MX, NS, PTR, TXT, DKIM a SPF.
Jak nainstalovat Dig na Linux?
Nástroj dig podporuje různé distribuce Linuxu. Níže jsou uvedeny příkazy pro instalaci dig na některé populární systémy Linux.
Instalace v Ubuntu/Debianu:
$ sudo apt install dnsutils
Instalace v Centos/Fedora:
$ sudo yum install bind-utils
Chcete-li ověřit instalaci Dig, spusťte příkaz:
$ dig –v
Jak se dotazovat na záznam domény 'A'?
Ve výchozím nastavení příkaz dig poskytne informace DNS 'A' Record a následující je výstup po dotazu na doménu:
$ dig google.com
Ve výstupu uvidíte, že příkaz dig poskytuje čtyři sekce.
V první sekci je na prvním řádku zobrazena verze dig a název domény, které hledáme.
Druhý řádek zobrazuje možnost, která se používá k dotazování domény, která je v aktuálním kontextu standardně (+cmd). Konečně hlavičky, to je odpověď, kterou server poskytl během dotazů. V části s příznaky v záhlaví qr, rd a ra odkazují na dotaz, požadovanou rekurzi a dostupnou rekurzi, které určují formát odpovědi.
V druhé části OPT PSEUDOSEKCE ukazuje pokročilá data, která se používají, Extension System for DNS (EDNS) a UDP ukazuje velikost UDP paketu. Sekce otázek ukazuje data dotazu, která odeslal příkaz dig, kde IN odkazuje na internet a A na požadovaný záznam adresy.
Třetí část zobrazuje odpovědi na požadovaný dotaz. První sloupec zobrazuje název serveru, na který se příkaz dig dotazuje, druhý sloupec zobrazuje nastavený časový rámec, po kterém se záznam obnoví, třetí sloupec ukazuje třídu dotazu, čtvrtý sloupec zobrazuje DNS záznam příkazový dotaz a poslední sloupec zobrazuje IP adresu ipv4, která je spojena s názvem domény.
Poslední část zobrazuje metadata nebo statistiky dotazu.
Jak se dotazovat na záznamy 'AAAA' domény?
Abychom mohli dotazovat DNS záznamy, musíme v příkazu zadat typ záznamu. Výstup můžeme zkrátit pomocí +shorts, následuje výstup, jak to fungovalo:
$ dig +short google.com AAAA
Jak se dotazovat na záznamy domény 'NS' zobrazující pouze odpovědi?
Zde použijeme +noall vymaže všechny příznaky zobrazení, které neposkytují žádný výstup, a použitím možnosti +odpověď vypíše pouze sekci odpovědí:
$ dig google.com 'NS' +noall +answer
Jak dotazovat více záznamů DNS?
Můžeme se dotazovat na více DNS záznamů pomocí příkazu dig. Zde budeme dotazovat záznamy A a TXT pomocí dig.
$ dig google.com +nocomments yahoo.com +noall +answer
Jak se dotazovat na záznamy 'MX' domény?
MX označuje výměnu pošty, která přesměruje e-maily na poštovní server. V níže uvedeném příkazu používáme možnost +nocomments k vyloučení komentářů. Chcete-li vyhledat, záznam MX určuje typ záznamu pro MX v příkazu:
$ dig google.com MX +nocomments
Jak dotazovat SPF záznam?
Sender Policy Framework (SPF) se používá k označení autorizovaných hostitelů pro odesílání pošty do domény při výměně pošty.
$ dig google.com TXT +noall +answer
Vyhledávání záznamů DKIM
K dotazu na DomainKeys Identified Mail (DKIM) potřebujeme selektor. Poskytuje digitální podpis a šifrovací klíč, který ověřuje e-mailové zprávy.
Musíte zjistit selektor domény. Pokud se podíváte na podrobnosti e-mailu odeslaného z google/gmail, můžete zjistit selektor pro google. Podobně můžete najít další selektory domén.
Abychom se na něj zeptali, musíme provést příkaz, jak je uvedeno níže. Ve výstupu si můžeme prohlédnout podpis DKIM zveřejněný v jejich DNS záznamu:
$ dig txt 20161025._domainkey.google.com
Zpětné vyhledávání DNS
K vyhledání reverzního DNS musíme použít volbu -x spolu s IP adresou serveru. V následujícím příkladu používáme google IP adresu k vyhledání reverzního DNS:
$ dig -x 142.250.182.238 +short