GNU/Linux >> Znalost Linux >  >> Linux

10 Linux Příklady příkazů DIG pro vyhledávání DNS

Dig je zkratka pro vyhledávání informací o doméně.

Pomocí příkazu dig se můžete dotazovat na jmenné servery DNS pro úkoly související s vyhledáváním DNS. Tento článek vysvětluje 10 příkladů, jak používat příkaz dig.

1. Jednoduché použití příkazu dig (pochopte výstup dig)

Když předáte název domény příkazu dig, ve výchozím nastavení zobrazí záznam A (IP adresa dotazovaného webu), jak je uvedeno níže.

V tomto příkladu se zobrazí A záznam redhat.com v části „ODPOVĚĎ“ výstupu příkazu dig.

$ dig redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62863
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             37      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             73      IN      NS      ns4.redhat.com.
redhat.com.             73      IN      NS      ns3.redhat.com.
redhat.com.             73      IN      NS      ns2.redhat.com.
redhat.com.             73      IN      NS      ns1.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         73      IN      A       209.132.186.218
ns2.redhat.com.         73      IN      A       209.132.183.2
ns3.redhat.com.         73      IN      A       209.132.176.100

;; Query time: 13 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:09:49 2012
;; MSG SIZE  rcvd: 164

Výstup příkazu dig má následující sekce:

  • Záhlaví:Zobrazí číslo verze příkazu dig, globální možnosti používané příkazem dig a několik dalších informací v záhlaví.
  • ČÁST OTÁZEK:Zobrazuje otázku, kterou položil DNS. tj. Toto je váš vstup. Protože jsme řekli ‚dig redhat.com‘ a výchozí typ příkazu dig je záznam A, v této sekci to znamená, že jsme požádali o záznam A webu redhat.com
  • ČÁST ODPOVĚDI:Zde se zobrazí odpověď, kterou obdrží od DNS. tj. Toto je váš výstup. Zobrazí se záznam A redhat.com
  • ČÁST OPRÁVNĚNÍ:Zobrazí se jmenný server DNS, který má oprávnění odpovědět na tento dotaz. V podstatě to zobrazuje dostupné jmenné servery redhat.com
  • DALŠÍ ČÁST:Zde se zobrazí ip adresy jmenných serverů uvedených v ČÁSTI AUTHORITY.
  • Sekce Statistiky v dolní části zobrazuje několik statistických údajů příkazu dig včetně toho, jak dlouho trvalo provedení tohoto dotazu

2. Zobrazit pouze SEKCI ANSWER příkazu Dig Output

Z velké části se vše, co potřebujete podívat, je „ODPOVĚĎ“ příkazu dig. Můžeme tedy vypnout všechny ostatní sekce, jak je uvedeno níže.

  • +nocomments – Vypněte řádky komentářů
  • +noauthority – Vypněte sekci oprávnění
  • +noadditional – Vypněte další sekci
  • +nostats – Vypněte sekci statistik
  • +noanswer – Vypnout sekci odpovědí (Samozřejmě nechcete vypnout sekci odpovědí)

Následující příkaz dig zobrazí pouze SEKCI ANSWER.

$ dig redhat.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
redhat.com.             9       IN      A       209.132.183.81

Namísto deaktivace všech sekcí, které nechceme jednu po druhé, můžeme deaktivovat všechny sekce pomocí +noall (tímto se také vypne sekce odpovědí) a přidat +odpověď, která zobrazí pouze sekci odpovědí.

Výše uvedený příkaz lze také napsat ve zkrácené formě, jak je uvedeno níže, která zobrazí pouze SEKCI ODPOVĚDI.

$ dig redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +noall +answer
;; global options: +cmd
redhat.com.             60      IN      A       209.132.183.81

3. Dotaz na záznamy MX pomocí dig -t MX

Chcete-li se dotazovat na záznamy MX, předejte MX jako argument příkazu dig, jak je uvedeno níže.

$ dig redhat.com  MX +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com MX +noall +answer
;; global options: +cmd
redhat.com.             513     IN      MX      5 mx1.redhat.com.
redhat.com.             513     IN      MX      10 mx2.redhat.com.

Můžete také použít volbu -t k předání typu dotazu (například:MX), jak je uvedeno níže.

$ dig -t MX redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t MX redhat.com +noall +answer
;; global options: +cmd
redhat.com.             489     IN      MX      10 mx2.redhat.com.
redhat.com.             489     IN      MX      5 mx1.redhat.com.

4. Dotaz na záznamy NS pomocí dig -t NS

Pro dotaz na záznam NS použijte typ NS, jak je uvedeno níže.

$ dig redhat.com NS +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com NS +noall +answer
;; global options: +cmd
redhat.com.             558     IN      NS      ns2.redhat.com.
redhat.com.             558     IN      NS      ns1.redhat.com.
redhat.com.             558     IN      NS      ns3.redhat.com.
redhat.com.             558     IN      NS      ns4.redhat.com.

Můžete také použít volbu -t k předání typu dotazu (například:NS), jak je uvedeno níže.

$ dig -t NS redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t NS redhat.com +noall +answer
;; global options: +cmd
redhat.com.             543     IN      NS      ns4.redhat.com.
redhat.com.             543     IN      NS      ns1.redhat.com.
redhat.com.             543     IN      NS      ns3.redhat.com.
redhat.com.             543     IN      NS      ns2.redhat.com.

5. Zobrazit VŠECHNY typy DNS záznamů pomocí dig -t ANY

Chcete-li zobrazit všechny typy záznamů (A, MX, NS atd.), použijte jako typ záznamu ANY, jak je uvedeno níže.

$ dig redhat.com ANY +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com ANY +noall +answer
;; global options: +cmd
redhat.com.             430     IN      MX      5 mx1.redhat.com.
redhat.com.             430     IN      MX      10 mx2.redhat.com.
redhat.com.             521     IN      NS      ns3.redhat.com.
redhat.com.             521     IN      NS      ns1.redhat.com.
redhat.com.             521     IN      NS      ns4.redhat.com.
redhat.com.             521     IN      NS      ns2.redhat.com.

(nebo) Použijte -t ​​ANY

$ dig -t ANY redhat.com  +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t ANY redhat.com +noall +answer
;; global options: +cmd
redhat.com.             367     IN      MX      10 mx2.redhat.com.
redhat.com.             367     IN      MX      5 mx1.redhat.com.
redhat.com.             458     IN      NS      ns4.redhat.com.
redhat.com.             458     IN      NS      ns1.redhat.com.
redhat.com.             458     IN      NS      ns2.redhat.com.
redhat.com.             458     IN      NS      ns3.redhat.com.

6. Zobrazit krátký výstup pomocí dig +short

Chcete-li zobrazit pouze IP adresu webové stránky (tj. záznam A), použijte možnost krátkého formuláře, jak je uvedeno níže.

$ dig redhat.com +short
209.132.183.81

Můžete také určit typ záznamu, který chcete zobrazit, pomocí volby +krátká.

$ dig redhat.com ns +short
ns2.redhat.com.
ns3.redhat.com.
ns1.redhat.com.
ns4.redhat.com.

7. Zpětné vyhledávání DNS pomocí dig -x

Chcete-li provést zpětné vyhledání DNS pomocí ip-adresy pomocí dig -x, jak je uvedeno níže

Pokud například máte pouze externí IP adresu a chtěli byste znát webovou stránku, která k ní patří, proveďte následující.

$ dig -x 209.132.183.81 +short
www.redhat.com.

Chcete-li zobrazit úplné podrobnosti zpětného vyhledávání DNS, odeberte možnost +short.

$ dig -x 209.132.183.81

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -x 209.132.183.81
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62435
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;81.183.132.209.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
81.183.132.209.in-addr.arpa. 600 IN     PTR     www.redhat.com.

;; AUTHORITY SECTION:
183.132.209.in-addr.arpa. 248   IN      NS      ns2.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns1.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns3.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns4.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         363     IN      A       209.132.186.218
ns2.redhat.com.         363     IN      A       209.132.183.2
ns3.redhat.com.         363     IN      A       209.132.176.100

;; Query time: 35 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:15:00 2012
;; MSG SIZE  rcvd: 193

8. Použít konkrétní server DNS pomocí dig @dnsserver

Ve výchozím nastavení dig používá servery DNS definované ve vašem souboru /etc/resolv.conf.

Pokud chcete k provedení dotazu použít jiný server DNS, zadejte jej do příkazového řádku jako @dnsserver.

Následující příklad používá ns1.redhat.com jako DNS server pro získání odpovědi (místo použití DNS serverů ze souboru /etc/resolv.conf).

$ dig @ns1.redhat.com redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> @ns1.redhat.com redhat.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20963
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             60      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             600     IN      NS      ns1.redhat.com.
redhat.com.             600     IN      NS      ns4.redhat.com.
redhat.com.             600     IN      NS      ns3.redhat.com.
redhat.com.             600     IN      NS      ns2.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         600     IN      A       209.132.186.218
ns2.redhat.com.         600     IN      A       209.132.183.2
ns3.redhat.com.         600     IN      A       209.132.176.100
ns4.redhat.com.         600     IN      A       209.132.188.218

;; Query time: 160 msec
;; SERVER: 209.132.186.218#53(209.132.186.218)
;; WHEN: Thu Jan 12 10:22:11 2012
;; MSG SIZE  rcvd: 180

9. Hromadný DNS dotaz pomocí dig -f (a příkazového řádku)

Dotaz na více webových stránek pomocí datového souboru:

Na základě dat ze souboru můžete provést hromadný DNS dotaz.

Nejprve vytvořte ukázkový soubor names.txt obsahující webovou stránku, na kterou se chcete dotazovat.

$ vi names.txt
redhat.com
centos.org

Dále spusťte dig -f, jak je ukázáno níže, což provede DNS dotaz pro webové stránky uvedené v souboru names.txt a zobrazí výstup.

$ dig -f names.txt +noall +answer
redhat.com.             60      IN      A       209.132.183.81
centos.org.             60      IN      A       72.232.194.162

Můžete také kombinovat typ záznamu s volbou -f. Následující příklad zobrazuje záznamy MX více webových stránek, které jsou umístěny v souboru names.txt.

$ dig -f names.txt MX +noall +answer
redhat.com.             600     IN      MX      10 mx2.redhat.com.
redhat.com.             600     IN      MX      5 mx1.redhat.com.
centos.org.             3600    IN      MX      10 mail.centos.org.

Dotaz na více webových stránek z příkazového řádku dig:

Můžete se také dotazovat na více webových stránek z příkazového řádku dig, jak je znázorněno níže. Následující příklad dotazuje záznam MX pro redhat.com a záznam NS pro centos.org z příkazového řádku

$ dig redhat.com mx +noall +answer centos.org ns +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com mx +noall +answer centos.org ns +noall +answer
;; global options: +cmd
redhat.com.             332     IN      MX      10 mx2.redhat.com.
redhat.com.             332     IN      MX      5 mx1.redhat.com.
centos.org.             3778    IN      NS      ns3.centos.org.
centos.org.             3778    IN      NS      ns4.centos.org.
centos.org.             3778    IN      NS      ns1.centos.org.

10. Použijte soubor $HOME/.digrc k uložení výchozích možností dig

Pokud se vždy snažíte zobrazit pouze část ANSWER výstupu dig, nemusíte při každém příkazu dig stále psát „+noall +answer“. Místo toho přidejte možnosti dig do souboru .digrc, jak je uvedeno níže.

$ cat $HOME/.digrc
+noall +answer

Nyní, kdykoli spustíte příkaz dig, bude ve výchozím nastavení vždy používat možnosti +noall a +odpověď. Nyní se příkazový řádek dig stal velmi jednoduchým a snadno čitelným, aniž byste museli tyto možnosti pokaždé zadávat.

$ dig redhat.com
redhat.com.             60      IN      A       209.132.183.81

$ dig redhat.com MX
redhat.com.             52      IN      MX      5 mx1.redhat.com.
redhat.com.             52      IN      MX      10 mx2.redhat.com.

Linux
  1. Jak používat Dig Command v Linuxu s příklady

  2. Užitečné příklady Linux Dig pro správce sítě

  3. 10 Příklady příkazů Linux nslookup pro vyhledávání DNS

  1. Jak používat Linux dig Command (DNS Lookup)

  2. Linux killall příkaz pro začátečníky (8 příkladů)

  3. Příklady příkazů dig v Linuxu

  1. 12 Příklady IP příkazů pro uživatele Linuxu

  2. Dig Command v Linuxu (DNS vyhledávání)

  3. Linuxový příkaz dir pro začátečníky (10 příkladů)