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: +cmd
Jika Anda tidak ingin baris tersebut disertakan dalam output, gunakan
+nocmd
pilihan. Opsi ini harus menjadi yang pertama setelahdig
perintah. -
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: 5
Bagian ini dapat dihapus menggunakan
+nocomments
opsi, yang juga menonaktifkan beberapa header bagian lain. -
Bagian semu “OPT” hanya ditampilkan dalam versi
dig
yang lebih baru kegunaan. Anda dapat membaca lebih lanjut tentang mekanisme Ekstensi untuk DNS (EDNS) di sini.;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096
Untuk mengecualikan bagian ini dari output, gunakan
+noedns
pilihan. -
Di bagian “PERTANYAAN”
dig
menunjukkan query (pertanyaan). Secara default,dig
meminta catatan A.;; QUESTION SECTION: ;linux.org. IN A
Anda dapat menonaktifkan bagian ini menggunakan
+noquestion
pilihan. -
Bagian "JAWABAN" memberi kami jawaban atas pertanyaan kami. Seperti yang telah kami sebutkan, secara default
dig
akan meminta catatan A. Di sini, kita dapat melihat bahwa domainlinux.org
menunjuk ke104.18.59.123
Alamat IP.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123
Biasanya, Anda tidak ingin menonaktifkan jawaban, tetapi Anda dapat menghapus bagian ini dari output menggunakan
+noanswer
pilihan. -
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
+noauthority
pilihan. -
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
+noadditional
opsi menonaktifkan bagian tambahan dari balasan. -
Bagian terakhir dari
dig
keluaran 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
+nostats
pilihan.
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.