Dig (Domain Information Groper) je nástroj příkazového řádku systému Linux, který provádí vyhledávání DNS dotazováním jmenných serverů a zobrazením výsledku vám. V tomto tutoriálu najdete všechna základní použití příkazu, která byste měli znát v operačním systému Linux.
Standardně dig odesílá dotaz DNS jmenným serverům uvedeným v resolveru (/etc/resolv.conf), pokud není požádán o dotaz na konkrétní jmenný server.
Instalovat Dig v systému Linux
Dig je součástí balíčku nástroje DNS, který se často instaluje s jmennými servery BIND. Balíček obslužného programu, který obsahuje dig, můžete také nainstalovat samostatně přístupem k VPS přes SSH a použitím následujících příkazů v příkazovém řádku:
Debian a Ubuntu:
apt-get install dnsutils
CentOS 7:
yum install bind-utils
Po instalaci zkontrolujte verzi, abyste se ujistili, že nastavení bylo úspěšně dokončeno:
dig -v
Syntaxe Dig
Ve své nejjednodušší podobě bude syntaxe nástroje dig vypadat takto:
dig [server] [name] [type]
[server] – IP adresa nebo název hostitele jmenného serveru, který se má dotazovat.
Pokud je argumentem server název hostitele, pak dig vyhodnotí název hostitele, než bude pokračovat v dotazování na jmenný server.
Je volitelný a pokud neuvedete argument serveru, pak dig použije jmenný server uvedený v /etc/resolv.conf .
[jméno] – název záznamu prostředku, který se má vyhledat.
[typ] – typ dotazu požadovaný dig. Může to být například záznam A, záznam MX, záznam SOA nebo jakýkoli jiný typ. Ve výchozím nastavení dig provádí vyhledávání záznamu A, pokud není zadán žádný argument typu.
Jak používat příkaz Dig
Pojďme se podívat na základní použití příkazu:
Vyhledat název domény
Chcete-li provést vyhledávání DNS pro název domény, předejte název společně s příkazem dig:
dig hostinger.com
Pokud nejsou zadány žádné další možnosti, příkaz dig standardně zobrazí záznam A. Výstup bude také obsahovat další informace, jako je nainstalovaná verze dig, technické podrobnosti o odpovědích, statistiky o dotazu, sekce otázek spolu s několika dalšími.
Krátké odpovědi
Výše uvedený příkaz dig obsahuje mnoho užitečných informací v různých částech, ale mohou nastat situace, kdy budete chtít pouze výsledek dotazu. Můžete to udělat pomocí možnosti +short, která zobrazí IP adresu (záznam A) pouze názvu domény:
dig hostinger.com +short
Podrobné odpovědi
Někdy si chcete podrobně prohlédnout sekci odpovědí. Chcete-li získat podrobné informace o sekci odpovědí, můžete přestat zobrazovat všechny sekce pomocí +noall a dotazujte se v sekci odpovědí pouze pomocí +odpověď pomocí příkazu dig.
dig hostinger.com +noall +answer
Určení jmenných serverů
Ve výchozím nastavení budou příkazy dig dotazovat jmenné servery uvedené v /etc/resolv.conf k provedení vyhledávání DNS za vás. Toto výchozí chování můžete změnit pomocí @ symbol následovaný názvem hostitele nebo IP adresou jmenného serveru.
Následující příkaz dig odešle dotaz DNS na jmenný server Google (8.8.8.8) pomocí @8.8.8.8 možnost.
dig @8.8.8.8 hostinger.com
Dotaz na všechny typy záznamů DNS
K dotazu na všechny dostupné typy záznamů DNS přidružené k doméně použijte ANY volba. JAKÝKOLI volba zahrne do výstupu všechny dostupné typy záznamů:
dig hostinger.com ANY
Vyhledat typ záznamu
Pokud chcete vyhledat konkrétní záznam, stačí přidat typ na konec příkazu.
Například pro dotaz získejte pouze výměnu pošty – MX – sekce odpovědí spojené s doménou, můžete použít následující příkaz dig:
dig hostinger.in MX
Podobně, chcete-li zobrazit další záznamy přidružené k doméně, zadejte typ záznamu na konci příkazu dig:
dig hostinger.com txt (Query TXT record) dig hostinger.com cname (Query CNAME record) dig hostinger.com ns (Query NS record) dig hostinger.com A (Query A record)
Sledování cesty DNS
Dig umožňuje trasování vyhledávací cesty DNS pomocí +trace volba. Tato možnost provádí iterativní dotazy k vyřešení vyhledávání názvu. Bude se dotazovat na jmenné servery počínaje kořenem a následně projde stromem jmenného prostoru pomocí iterativních dotazů následujících po odkazech na cestě:
dig hostinger.com +trace
Zpětné vyhledávání DNS
Zpětné vyhledávání DNS vám umožňuje vyhledat doménu a název hostitele přidružené k IP adrese. Chcete-li provést zpětné vyhledávání DNS pomocí příkazu dig, použijte –x možnost následovaná vámi zvolenou IP adresou. V následujícím příkladu dig provede zpětné vyhledání DNS pro IP adresu spojenou s google.com:
dig +answer -x 172.217.166.46
Pamatujte, že pokud není pro IP adresu definován záznam PTR, pak není možné provést zpětné vyhledání DNS, protože záznam PTR ukazuje na doménu nebo název hostitele.
Dávkové dotazy
Pomocí obslužného programu dig můžete provádět vyhledávání DNS pro seznam domén místo toho, abyste totéž dělali pro každou jednotlivě. Chcete-li to provést, musíte poskytnout dig se seznamem názvů domén – jeden na řádek v souboru. Jakmile je soubor připraven, zadejte jeho název pomocí volby -f:
vi domain_name.txt hostinger.com google.com ubuntu.com
dig -f domain_name.txt +short
Kontrola chování při kopání
Výstup příkazu lze trvale přizpůsobit nastavením možností v ~/.digrc soubor, který se automaticky spustí s příkazem.
Předpokládejme, že chcete zobrazit pouze sekci odpovědí – zadejte požadované možnosti v ~/.digrc souboru, takže je nemusíte zadávat při provádění dotazu.
echo "+noall +answer" > ~/.digrc
Nyní proveďte vyhledání domény na serveru DNS. Výstup potvrzuje, že dig běží s možnostmi nastavenými v ~/.digrc soubor.
Závěr
To jsou všechny základy, které potřebujete, abyste mohli začít používat dig v Linuxu. Nyní můžete provádět vyhledávání DNS pro domény pomocí různých možností. Chcete se dozvědět více? Zkontrolujte manuálovou stránku pomocí příkazu man dig, abyste zjistili všechna možná použití a možnosti.