Dig (Domain Information Groper) adalah alat baris perintah yang kuat untuk menanyakan server nama DNS.
dig perintah, memungkinkan Anda untuk menanyakan informasi tentang berbagai catatan DNS, termasuk alamat host, pertukaran surat, dan server nama. Ini adalah alat yang paling umum digunakan di antara administrator sistem untuk memecahkan masalah DNS karena fleksibilitas dan kemudahan penggunaannya.
Tutorial ini menjelaskan cara menggunakan dig utilitas melalui contoh-contoh praktis dan penjelasan mendetail dari dig . yang paling umum pilihan.
Memasang dig #
Untuk memeriksa apakah dig perintah tersedia pada jenis 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:command not found". dig alat dapat diinstal menggunakan manajer paket distro.
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 dig Keluaran #
Dalam bentuknya yang paling sederhana, ketika digunakan untuk mengkueri satu host (domain) tanpa opsi tambahan apa pun, dig perintahnya cukup bertele-tele.
Dalam contoh berikut, kami tampil di linux.org domain:
dig linux.org Outputnya akan terlihat seperti ini:
Mari kita bahas bagian demi bagian dan menjelaskan output dari dig perintah:
-
Baris pertama dari output mencetak
dig. yang diinstal versi, dan nama domain yang ditanyakan. Baris kedua menunjukkan opsi global (secara default, hanya cmd).; <<>> DiG 9.13.3 <<>> linux.org ;; global options: +cmdJika Anda tidak ingin baris tersebut disertakan dalam output, gunakan
+nocmdpilihan. Opsi ini harus menjadi yang pertama setelahdigperintah. -
Bagian selanjutnya mencakup detail teknis tentang jawaban yang diterima dari otoritas yang diminta (server DNS). Header menunjukkan opcode (tindakan yang dilakukan oleh
dig) dan status tindakan. Dalam contoh ini, statusnya adalahNOERROR, yang berarti otoritas yang diminta melayani kueri tanpa masalah.;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5Bagian ini dapat dihapus menggunakan
+nocommentsopsi, yang juga menonaktifkan beberapa header bagian lain. -
Bagian semu “OPT” hanya ditampilkan dalam versi
digyang lebih baru kegunaan. Anda dapat membaca lebih lanjut tentang mekanisme Ekstensi untuk DNS (EDNS) di sini.;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096Untuk mengecualikan bagian ini dari output, gunakan
+noednspilihan. -
Di bagian “PERTANYAAN”
digmenunjukkan query (pertanyaan). Secara default,digmeminta catatan A.;; QUESTION SECTION: ;linux.org. IN AAnda dapat menonaktifkan bagian ini menggunakan
+noquestionpilihan. -
Bagian "JAWABAN" memberi kami jawaban atas pertanyaan kami. Seperti yang telah kami sebutkan, secara default
digakan meminta catatan A. Di sini, kita dapat melihat bahwa domainlinux.orgmenunjuk ke104.18.59.123Alamat IP.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123Biasanya, Anda tidak ingin menonaktifkan jawaban, tetapi Anda dapat menghapus bagian ini dari output menggunakan
+noanswerpilihan. -
Bagian “OTORITAS” memberi tahu kita server mana yang memiliki otoritas 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 keluaran ini menggunakan
+noauthoritypilihan. -
Bagian “TAMBAHAN” memberi kami informasi tentang alamat IP server DNS otoritatif yang ditampilkan 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+noadditionalopsi menonaktifkan bagian tambahan dari balasan. -
Bagian terakhir dari
digkeluaran 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: 212Anda dapat menonaktifkan bagian ini dengan
+nostatspilihan.
Hanya Mencetak Jawaban #
Umumnya, Anda hanya ingin mendapatkan jawaban singkat untuk dig . Anda kueri.
1. Dapatkan Jawaban Singkat #
Untuk mendapatkan jawaban singkat atas pertanyaan Anda, gunakan +short pilihan:
dig linux.org +short 104.18.59.123
104.18.58.123
Keluaran hanya akan menyertakan alamat IP dari catatan A.
2. Dapatkan Jawaban Mendetail #
Untuk jawaban yang lebih detail, matikan semua hasil menggunakan +noall opsi dan kemudian aktifkan hanya bagian jawaban dengan +answer pilihan.
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 Khusus Kueri #
Secara default, jika tidak ada server nama yang ditentukan, dig menggunakan server yang terdaftar di /etc/resolv.conf berkas.
Untuk menentukan server nama tempat kueri akan dieksekusi, gunakan @ (at) simbol diikuti dengan alamat IP server nama atau nama host.
Misalnya, untuk menanyakan server nama Google (8.8.8.8) untuk informasi tentang linux.org domain 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
Kueri Jenis Catatan #
Dig memungkinkan Anda untuk melakukan kueri DNS yang valid dengan menambahkan jenis rekaman ke akhir kueri. Di bagian berikut, kami akan menunjukkan kepada Anda contoh cara mencari catatan yang paling umum, seperti A (alamat IP), CNAME (nama kanonik), TXT (catatan teks), MX (penukar surat), dan NS ( server nama).
1. Mengkueri catatan A #
Untuk mendapatkan daftar semua alamat untuk nama domain, gunakan a pilihan:
dig +nocmd google.com a +noall +answer google.com. 128 IN A 216.58.206.206
Seperti yang sudah Anda ketahui, jika tidak ada tipe data DNS yang ditentukan, dig akan meminta catatan A. Anda juga dapat menanyakan catatan A tanpa menentukan a pilihan.
2. Membuat kueri data CNAME #
Untuk menemukan nama domain alias gunakan cname pilihan:
dig +nocmd mail.google.com cname +noall +answer mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. Membuat kueri data TXT #
Gunakan txt opsi untuk mengambil semua data 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. Membuat kueri data MX #
Untuk mendapatkan daftar semua server email untuk domain tertentu, gunakan mx pilihan:
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 otoritatif untuk domain khusus kami, gunakan ns pilihan:
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. Membuat Kueri Semua Catatan #
Gunakan any opsi untuk mendapatkan daftar semua data 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
Pencarian DNS Terbalik #
Untuk menanyakan nama host yang terkait dengan alamat IP tertentu, gunakan -x pilihan.
Misalnya, untuk melakukan pencarian terbalik pada 208.118.235.148 Anda akan mengetik:
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.
Permintaan Massal #
Jika Anda ingin mengkueri domain dalam jumlah besar, Anda dapat menambahkannya ke dalam file (satu domain per baris) dan menggunakan -f pilihan diikuti dengan nama file.
Dalam contoh berikut, kami menanyakan domain yang terdaftar di domains.txt berkas.
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 #
dig perilaku perintah dapat dikontrol dengan menyiapkan opsi per pengguna di ${HOME}/.digrc berkas.
Jika .digrc file 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 ~/.digrc berikut berkas:
+nocmd +noall +answer
Kesimpulan #
dig adalah alat baris perintah untuk menanyakan informasi DNS dan memecahkan masalah terkait DNS.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.