Android

Gali perintah di linux (pencarian dns)

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Daftar Isi:

Anonim

Dig (Domain Information Groper) adalah alat baris perintah yang kuat untuk menanyakan server nama DNS.

Dengan perintah dig , Anda dapat meminta informasi tentang berbagai catatan DNS, termasuk alamat host, pertukaran email, dan server nama. Ini adalah alat yang paling umum digunakan di antara administrator sistem untuk mengatasi masalah DNS karena fleksibilitas dan kemudahan penggunaannya.

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan utilitas dig melalui contoh-contoh praktis dan penjelasan rinci tentang opsi dig paling umum.

Menginstal dig

Untuk memeriksa apakah perintah dig tersedia pada tipe sistem Anda:

dig -v

Outputnya akan terlihat seperti ini:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Jika dig tidak ada di sistem Anda, perintah di atas akan mencetak "dig: perintah tidak ditemukan". Anda dapat dengan mudah menginstal alat dig menggunakan manajer paket distro Anda.

Instal dig di Ubuntu dan Debian

sudo apt update && sudo apt install dnsutils

Instal dig di CentOS dan Fedora

sudo yum install bind-utils

Instal dig di Arch Linux

sudo pacman -S bind-tools

Memahami Hasil Penggalian

Dalam bentuknya yang paling sederhana, ketika digunakan untuk query satu host (domain) tanpa argumen tambahan, perintah menggali cukup verbose.

Pada contoh berikut, kami akan melakukan kueri untuk mengambil informasi tentang domain linux.org .

dig linux.org

Outputnya akan terlihat seperti ini:

Mari kita pergi bagian demi bagian dan menjelaskan output dari perintah dig :

  1. Baris pertama dari output mencetak versi penggalian yang diinstal, dan permintaan yang dipanggil. Baris kedua menunjukkan opsi global (secara default, hanya cmd).

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

    Bagian pertama mencakup perincian teknis tentang jawaban yang diterima dari otoritas yang diminta (server DNS). Header menunjukkan opcode (tindakan yang dilakukan dengan menggali) dan status tindakan. Dalam contoh ini, statusnya adalah NOERROR , yang berarti bahwa otoritas yang diminta melayani permintaan tanpa masalah.

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

    Bagian ini dapat dihapus menggunakan opsi +nocomments , yang juga menonaktifkan beberapa header bagian lain.

    Bagian semu "OPT" ditampilkan secara default hanya di versi yang lebih baru dari utilitas penggalian. Anda dapat tentang mekanisme Ekstensi untuk DNS (EDNS) di sini.

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

    Di bagian "PERTANYAAN", dig menunjukkan pertanyaan kami (pertanyaan). Secara default, dig meminta catatan A.

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

    Anda dapat menonaktifkan bagian ini menggunakan opsi +noquestion .

    Bagian "JAWABAN" memberi kami jawaban untuk pertanyaan kami. Seperti yang telah kami sebutkan, secara default dig akan meminta catatan A. Di sini, domain linux.org menunjuk ke alamat IP 104.18.59.123 .

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

    Biasanya, Anda tidak ingin mematikan jawaban, tetapi Anda dapat menghapus bagian ini dari output menggunakan opsi +noanswer .

    Bagian "OTORITAS" memberi tahu kami server apa yang berwenang untuk menjawab pertanyaan DNS tentang domain yang ditanyakan.

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

    Anda dapat menonaktifkan bagian output ini menggunakan opsi +noauthority .

    Bagian "TAMBAHAN" memberi kami informasi tentang alamat IP dari server DNS otoritatif yang ditunjukkan di bagian otoritas.

    ;; 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

    Opsi +noadditional menonaktifkan bagian tambahan dari balasan.

    Bagian terakhir dari output penggalian mencakup statistik tentang kueri.

    ;; 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

    Anda dapat menonaktifkan bagian ini dengan opsi +nostats .

Hanya Mencetak Jawabannya

Dalam kebanyakan kasus, Anda hanya ingin mendapatkan jawaban cepat untuk kueri penggalian Anda.

1. Dapatkan Jawaban Singkat

Untuk mendapatkan jawaban singkat atas permintaan Anda, gunakan opsi +short :

dig linux.org +short

104.18.59.123 104.18.58.123

Output akan mencakup hanya alamat IP dari catatan A.

2. Dapatkan Jawaban Terperinci

Untuk jawaban yang lebih terperinci, matikan semua hasil menggunakan opsi +noall dan kemudian nyalakan hanya bagian jawaban dengan opsi +answer .

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

Server nama spesifik kueri

Secara default, jika tidak ada server nama yang ditentukan, dig menggunakan server yang tercantum dalam file /etc/resolv.conf .

Untuk menentukan server nama yang akan dieksekusi kueri, gunakan simbol @ (at) diikuti dengan alamat IP server nama atau nama host.

Misalnya, untuk menanyakan server nama Google (8.8.8.8) untuk informasi tentang domain linux.org yang akan Anda gunakan:

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

Meminta Tipe Catatan

Dig memungkinkan Anda melakukan kueri DNS yang valid dengan menambahkan tipe rekaman ke akhir kueri. Di bagian berikut, kami akan menunjukkan kepada Anda contoh cara mencari catatan paling umum, seperti A (alamat IP), CNAME (nama kanonik), TXT (catatan teks), MX (penukar email), dan NS (server nama).

1. Meminta catatan A

Untuk mendapatkan daftar semua alamat untuk nama domain, gunakan opsi:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Seperti yang telah Anda ketahui, jika tidak ada tipe catatan DNS yang ditentukan, penggalian akan meminta data A. Anda juga dapat meminta catatan A tanpa menentukan opsi.

2. Meminta data CNAME

Untuk menemukan nama domain alias gunakan opsi cname :

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

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

3. Permintaan catatan TXT

Gunakan opsi txt untuk mengambil semua catatan TXT untuk domain tertentu:

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. Meminta data MX

Untuk mendapatkan daftar semua server email untuk domain tertentu gunakan opsi mx :

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. Meminta catatan NS

Untuk menemukan server nama resmi untuk domain spesifik kami, gunakan opsi ns :

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. Meminta Semua Catatan

Gunakan opsi any untuk mendapatkan daftar semua catatan DNS untuk domain tertentu:

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

Membalikkan Pencarian DNS

Untuk menanyakan nama host yang terkait dengan alamat IP tertentu, gunakan opsi -x .

Misalnya, untuk melakukan pencarian terbalik pada 208.118.235.148 Anda akan menggunakan:

dig -x 208.118.235.148 +noall +answer

Seperti yang Anda lihat dari output di bawah alamat IP 208.118.235.148 dikaitkan dengan nama host wildebeest.gnu.org .

; <<>> 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.

Kueri Massal

Dalam contoh berikut, kami meminta domain yang tercantum dalam file 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

File.digrc

Perilaku perintah dig dapat dikontrol dengan mengatur opsi per-pengguna di file ${HOME}/.digrc .

Jika file .digrc ada di direktori home pengguna, opsi yang ditentukan di dalamnya diterapkan sebelum argumen baris perintah.

Misalnya, jika Anda hanya ingin menampilkan bagian jawaban, buka editor teks Anda dan buat file ~/.digrc berikut:

~ /.digrc

+nocmd +noall +answer

Kesimpulan

dig adalah alat baris perintah untuk menanyakan informasi DNS dan mengatasi masalah terkait DNS.

gali terminal