Android

Linux'ta Dig Komutu (DNS Araması)

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Dig (Domain Information Groper), DNS ad sunucularını sorgulamak için güçlü bir komut satırı aracıdır.

dig komutuyla, ana bilgisayar adresleri, posta alışverişleri ve ad sunucuları dahil olmak üzere çeşitli DNS kayıtları hakkındaki bilgileri sorgulayabilirsiniz. Esnekliği ve kullanım kolaylığı nedeniyle DNS sorunlarını gidermek için sistem yöneticileri arasında en yaygın kullanılan araçtır.

Bu öğreticide, pratik örnekler ve en yaygın dig seçeneklerinin ayrıntılı açıklamaları ile dig yardımcı programını nasıl kullanacağınızı göstereceğiz.

Kazma kurulumu

Sistem dig komutunun bulunup bulunmadığını kontrol etmek için:

dig -v

Çıktı şöyle görünmelidir:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Sisteminizde dig yoksa, yukarıdaki komut “dig: command not found” yazdıracaktır. dig aracı paket yöneticisini kullanarak dig aracını kolayca yükleyebilirsiniz.

Ubuntu ve Debian üzerine dig yükleyin

sudo apt update && sudo apt install dnsutils

Dig'i CentOS ve Fedora'ya yükleyin

sudo yum install bind-utils

Arch Linux'a dig yükleyin

sudo pacman -S bind-tools

Kazma Çıktısını Anlama

En basit haliyle, herhangi bir ek argüman olmadan tek bir ana bilgisayarı (etki alanını) sorgulamak için kullanıldığında, dig komutu oldukça ayrıntılıdır.

Aşağıdaki örnekte, linux.org etki alanı hakkında bilgi almak için bir sorgu gerçekleştireceğiz.

dig linux.org

Çıktı şöyle görünmelidir:

Bölüm bölüm bölüm gidelim ve dig komutunun çıktısını açıklayalım:

  1. Çıktının ilk satırı yüklü kazı sürümünü ve çağrılan sorguyu yazdırır. İkinci satır global seçenekleri gösterir (varsayılan olarak yalnızca cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    İlk bölüm, istenen yetkiliden (DNS sunucusu) alınan yanıtla ilgili teknik ayrıntıları içerir. Üstbilgide opcode (kazı ile gerçekleştirilen eylem) ve eylemin durumu gösterilir. Bu örnekte durum NOERROR şeklindedir; bu, istenen yetkilinin sorguyu sorunsuz bir şekilde sunduğu anlamına gelir.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Bu bölüm, diğer bölümlerin başlıklarını da devre dışı bırakan +nocomments seçeneği kullanılarak kaldırılabilir.

    “OPT” sözde bölümü varsayılan olarak yalnızca dig yardımcı programının daha yeni sürümlerinde gösterilir. DNS için Uzantı mekanizmaları (EDNS) hakkında buradan ulaşabilirsiniz.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    “SORU” bölümünde dig gösterir (soru). Varsayılan olarak dig , A kaydını ister.

    ;; QUESTION SECTION:;linux.org. IN A

    +noquestion seçeneğini kullanarak bu bölümü devre dışı bırakabilirsiniz.

    “CEVAP” bölümü, sorumuza bir cevap vermektedir. Daha önce de belirttiğimiz gibi, varsayılan olarak dig , A kaydını isteyecektir. Burada, linux.org alan adı 104.18.59.123 IP adresini işaret eder.

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    Genellikle yanıtı kapatmak istemezsiniz, ancak +noanswer seçeneğini kullanarak bu bölümü +noanswer .

    “YETKİ” bölümü bize hangi sunucuların sorgulanan etki alanı hakkında DNS sorgularını yanıtlama yetkisi olduğunu bildirir.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    +noauthority seçeneğini kullanarak çıktının bu bölümünü devre dışı bırakabilirsiniz.

    “EK” bölümü bize yetki bölümünde gösterilen yetkili DNS sunucularının IP adresleri hakkında bilgi verir.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    +noadditional seçeneği, bir yanıtın ek bölümünü devre dışı bırakır.

    Kazı çıktısının son bölümü sorgu hakkındaki istatistikleri içerir.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    Bu bölümü +nostats seçeneğiyle devre dışı bırakabilirsiniz.

Sadece Cevabı Yazdırma

Çoğu durumda, kazma sorgunuza yalnızca hızlı bir yanıt almak istersiniz.

1. Kısa Yanıt Alın

Sorgunuza kısa bir cevap almak için +short seçeneğini kullanın:

dig linux.org +short

104.18.59.123 104.18.58.123

Çıkış yalnızca A kaydının IP adreslerini içerecektir.

2. Ayrıntılı Cevap Alın

Daha ayrıntılı bir yanıt için, +noall seçeneklerini kullanarak tüm sonuçları kapatın ve sonra +answer seçeneğiyle yalnızca yanıt bölümünü açın.

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

Sorguya Özgü Ad Sunucusu

Varsayılan olarak, ad sunucusu belirtilmezse, dig /etc/resolv.conf dosyasında listelenen sunucuları kullanır.

Sorgunun yürütüleceği ad sunucusunu belirtmek için, @ (at) simgesini ve ardından ad sunucusu IP adresini veya ana bilgisayar adını kullanın.

Örneğin, kullanacağınız linux.org alanıyla ilgili bilgi için Google ad sunucusunu (8.8.8.8) sorgulamak için:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

Kayıt Türünü Sorgulama

Dig, kayıt türünü sorgunun sonuna ekleyerek geçerli herhangi bir DNS sorgusu gerçekleştirmenizi sağlar. Aşağıdaki bölümde, A (IP adresi), CNAME (standart ad), TXT (metin kaydı), MX (posta değiştirici) ve NS (ad sunucuları).

1. A kayıtlarını sorgulama

Bir alan adının tüm adreslerinin bir listesini almak için a seçeneğini kullanın:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Bildiğiniz gibi, herhangi bir DNS kayıt türü belirtilmemişse, dig A kaydını isteyecektir. a seçeneği belirtmeden A kaydını da sorgulayabilirsiniz.

2. CNAME kayıtlarını sorgulama

Takma ad etki alanı adını bulmak için cname seçeneğini kullanın:

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. TXT kayıtlarını sorgulama

Belirli bir etki alanının tüm TXT kayıtlarını almak için txt seçeneğini kullanın:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. MX kayıtlarını sorgulama

Belirli bir etki alanının tüm posta sunucularının bir listesini almak için mx seçeneğini kullanın:

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. NS kayıtlarını sorgulama

Belirli alanımızın yetkili ad sunucularını bulmak için ns seçeneğini kullanın:

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. Tüm Kayıtları Sorgulamak

Belirli bir alan adına ilişkin tüm DNS kayıtlarının bir listesini almak için any seçeneği kullanın:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

Ters DNS Araması

Belirli bir IP adresiyle ilişkilendirilmiş ana bilgisayar adını sorgulamak için -x seçeneğini kullanın.

Örneğin, 208.118.235.148 geriye doğru arama yapmak için şunları kullanırsınız:

dig -x 208.118.235.148 +noall +answer

Aşağıdaki 208.118.235.148 IP adresi wildebeest.gnu.org ana bilgisayar 208.118.235.148 ilişkilidir.

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

Toplu Sorgular

Aşağıdaki örnekte, domains.txt dosyasında listelenen alanları domains.txt .

domains.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

.Digrc Dosyası

Dig komutunun davranışı ${HOME}/.digrc dosyasında kullanıcı başına seçenekler ayarlanarak kontrol edilebilir.

Kullanıcının giriş dizininde .digrc dosyası varsa, içinde belirtilen seçenekler komut satırı bağımsız değişkenlerinden önce uygulanır.

Örneğin, yalnızca yanıt bölümünü görüntülemek istiyorsanız, metin düzenleyicinizi açın ve aşağıdaki ~/.digrc dosyasını oluşturun:

~ /.Digrc

+nocmd +noall +answer

Sonuç

dig , DNS bilgilerini sorgulamak ve DNS ile ilgili sorunları gidermek için kullanılan bir komut satırı aracıdır.

terminal kazmak