Sebagai administrator jaringan Linux, Anda mungkin menemukan berbagai masalah yang dapat diselesaikan dengan Linux dig
(Domain Information Groper) perintah. Tidak yakin bagaimana dig
perintah bekerja? Jangan khawatir! Anda siap menerima hadiah!
Dalam tutorial ini, Anda akan mempelajari beberapa contoh berguna tentang cara menggunakan dig untuk memecahkan masalah dunia nyata.
Gali, dan bertemanlah dengan alat canggih ini!
Prasyarat
Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki sistem Linux. Tutorial ini menggunakan Ubuntu 20.04, tetapi semua distribusi Linux modern akan berfungsi.
Menginstal Linux dig
Perintah
Linux dig
perintah memungkinkan Anda mengumpulkan informasi DNS yang dapat membantu memecahkan masalah DNS. Namun sebelum menggali server nama, Anda harus terlebih dahulu menginstal dig
di mesin Anda.
1. Jalankan perintah apt update di bawah ini untuk memperbarui indeks paket sistem Anda.
apt update -y
2. Selanjutnya, jalankan perintah apt install berikut untuk menginstal dnsutils di komputer Anda. DiG adalah bagian dari paket utilitas DNS (dnsutils) yang diinstal dengan server nama BIND.
dnsutils adalah seperangkat alat yang disediakan oleh tim Ubuntu yang berisi berbagai utilitas DNS sisi klien, seperti dig.
apt install dnsutils -y
3. Terakhir, jalankan perintah dig di bawah ini untuk memverifikasi instalasi DiG Anda.
dig -v
Di bawah, versi DiG menunjukkan 9.16.1, tetapi versi Anda mungkin berbeda.
Mencoba Linux Dig untuk Permintaan DNS Dasar
Sekarang setelah Anda menginstal Dig, Anda dapat mencoba dig
perintah untuk kueri DNS dasar. Perintah dig memungkinkan Anda meminta server DNS untuk mengumpulkan beberapa informasi yang dapat Anda gunakan untuk memecahkan masalah dan memperbaiki masalah DNS.
Sintaks untuk kueri DNS dasar adalah sebagai berikut:
server
– Server DNS untuk menanyakan alamat IP atau nama domain. DiG akan menggunakan DNS pra-konfigurasi komputer Anda jika Anda tidak menentukan server.name
– Nama domain atau alamat IP yang akan dicari.type
– Jenis catatan DNS yang Anda cari.
dig [server] [name] [type]
Sekarang, jalankan perintah berikut untuk menanyakan catatan DNS untuk google.com
.
Saat Anda menjalankan dig
perintah tanpa tanda atau argumen apa pun, dig
melakukan kueri DNS sebagai argumen dan mengembalikan catatan A untuk nama host yang ditentukan.
dig [google.com]( )
Kueri DNS dasar menggunakan dig
berguna untuk beberapa tugas yang berbeda, seperti:
- Memeriksa data DNS untuk sebuah domain.
- Mencari tahu server DNS mana yang digunakan untuk sebuah domain.
- Periksa apakah komputer Anda menggunakan server DNS yang benar.
Membuat kueri ke google.com
Memahami Output dari Permintaan DNS Dasar
Mengingat DiG mengembalikan banyak informasi tentang nama domain yang Anda tanyakan, Anda sudah dapat melihat apa yang terjadi dengan domain itu. Atau tidak? Mungkin tidak. Tapi jangan khawatir. Anda akan menelusuri perincian setiap bagian yang akan Anda lihat pada keluaran kueri DNS dasar.
Di bawah, baris pertama menunjukkan versi DiG dan nama domain yang ditanyakan (google.com ). Pada saat yang sama, baris kedua menunjukkan opsi global yang digunakan untuk menjalankan kueri.
Dalam hal ini, satu-satunya opsi yang digunakan adalah +cmd , yang memberi tahu DiG untuk mencetak perintah yang dijalankan saat DiG mengeksekusinya.
Bagian berikut (HEADER ) menunjukkan detail teknis kueri:
- Baris pertama menentukan opcode digunakan untuk kueri (dalam hal ini, QUERY ), diikuti dengan status:NOERROR kueri dan id nomor(47244 ). NOERROR status menunjukkan bahwa server DNS memproses kueri dan berhasil mengembalikan jawaban. Jika Anda mendapatkan SERVFAIL status, ada beberapa kesalahan server DNS, yang mengakibatkan kueri gagal.
- Bendera bagian menunjukkan kepada Anda bendera mana yang disetel untuk kueri. Dalam hal ini, qr (tanggapan kueri), pertama (rekursi tidak diinginkan), dan ra (rekursi tersedia).
- Baris terakhir memberi tahu Anda berapa banyak kueri (QUERY ) dibuat (1 ). Anda juga akan melihat berapa banyak JAWABAN s (1 ), OTORITAS catatan (0 ), dan TAMBAHAN catatan(1 ) DiG kembali.
OPT PSEUDOSECTION di bawah ini menunjukkan bahwa pesan DNS telah diperpanjang menggunakan protokol EDNS0. Bendera kolom kosong karena tidak ada opsi yang disetel, sedangkan udp bidang menentukan ukuran maksimum pesan DNS, yaitu 65.494 byte.
Sekarang, JAWABAN bagian di bawah ini menunjukkan jawaban yang dikembalikan untuk kueri. Dalam hal ini, Anda menanyakan data A google.com , dan server DNS mengembalikan alamat IP 142.250.80.110 . Anda dapat melihat google.com Sebuah catatan menunjuk ke alamat IP tersebut.
Terakhir, bagian terakhir berisi informasi tentang waktu kueri dan server yang digunakan untuk memproses kueri. Di bawah, Anda dapat melihat kueri membutuhkan waktu empat milidetik (4 mdtk ) untuk diselesaikan, dan SERVER digunakan memiliki alamat IP 127.0.0.53 .
Semakin sedikit waktu yang dibutuhkan server DNS untuk memproses kueri dan mengembalikan jawaban, semakin baik. Anda tidak ingin pengguna Anda menunggu lama untuk menyelesaikan kueri DNS. Penantian yang lama dapat menyebabkan pengalaman pengguna yang buruk.
Mengambil Jawaban Singkat dan Mendetail
Anda baru saja menanyakan DNS yang mengembalikan beberapa informasi. Tetapi bisakah Anda mengontrol output mana yang Anda dapatkan? Ya, dengan menambahkan tanda (+short
, +noall
, dan +answer
) ke dig
perintah.
Misalkan Anda meminta catatan A. Server DNS mengembalikan catatan A dan AAAA. Tapi dengan +short
flag, DNS hanya mengembalikan catatan A. +short
flag dapat berguna untuk mendapatkan jawaban cepat dari server DNS tanpa menyaring semua informasi tambahan.
Jalankan perintah di bawah ini untuk menanyakan google.com
lagi. Tapi kali ini, tambahkan +short
tandai untuk mendapatkan jawaban singkat saja.
dig +short google.com
Di bawah, Anda akan melihat bahwa DiG hanya mengembalikan jawaban singkat, yaitu alamat server Google.
Sekarang, jalankan perintah berikut untuk query google.com
, mengembalikan jawaban terperinci. +noall
flag menghilangkan semua informasi default yang ditampilkan saat menjalankan dig
perintah, kecuali untuk bagian jawaban (+answer
).
dig google.com +noall +answer
Menentukan Server Nama untuk Menyelesaikan Nama Domain
Sejauh ini, Anda telah melihat cara menggunakan dig
perintah dengan pengaturan default. Tetapi misalkan Anda ingin menguji apakah server nama tertentu dapat menyelesaikan nama domain atau tidak. Dalam kasus seperti itu, menentukan server DNS mana yang digunakan DiG saat menjalankan dig
perintah dapat membantu.
Secara default, dig
perintah menggunakan server DNS yang ditentukan dalam /etc/resolv.conf file, seperti yang ditunjukkan di bawah ini.
Untuk mengganti server DNS yang digunakan DiG saat menyelesaikan nama domain, tambahkan @
simbol diikuti oleh server DNS atau IP.
Jalankan perintah di bawah ini untuk menanyakan nama domain (server
) menggunakan server DNS pilihan Anda (dns-or-ip
). Pastikan untuk mengganti dns-or-ip
dengan server DNS Anda, tetapi tutorial ini menggunakan 8.8.8.8 .
dig server +noall +answer @dns-or-ip
Anda dapat melihat di bawah bahwa server DNS berhasil menyelesaikan nama domain dan mengembalikan jawaban secara detail.
Meminta Jenis Rekaman Tertentu
Secara default, dig
perintah kueri untuk catatan A jika Anda tidak menentukan jenis catatan apa pun. Namun DiG juga memungkinkan Anda menanyakan jenis data DNS lainnya, seperti MX, NS, TXT, dan sebagainya.
Untuk menentukan jenis rekaman, Anda menambahkan jenis rekaman tepat setelah nama domain yang Anda cari, seperti pada contoh berikut.
Jalankan perintah di bawah ini untuk menanyakan google.com
untuk data MX.
dig +noall +answer google.com mx
Anda dapat melihat di bawah bahwa data MX untuk google.com adalah smtp.google.com .
Sekarang, jalankan perintah berikut untuk query google.com
untuk data TXT
dig +noall +answer google.com txt
Keluaran di bawah ini menunjukkan semua data TXT untuk google.com , seperti yang ditunjukkan di bawah ini.
Melakukan Kueri dalam Mode Batch
Misalkan Anda ingin mencari informasi DNS untuk beberapa nama domain. Menanyakan informasi satu per satu untuk setiap nama domain dapat menjadi hal yang membosankan dan memakan waktu.
Untungnya, dig
perintah mendukung mode batch, di mana Anda dapat menentukan file yang berisi daftar nama domain. DiG akan melakukan kueri DNS untuk semua nama domain yang terdaftar dalam file tersebut dalam mode batch.
Buka file teks baru bernama dns-batch-file.txt di editor teks pilihan Anda, dan tambahkan nama domain (satu per baris), seperti yang ditunjukkan di bawah ini. Setelah Anda puas dengan daftarnya, simpan file dan tutup editornya.
Sekarang, jalankan perintah berikut untuk menanyakan semua domain yang terdaftar di (-f
.) yang ditentukan ) dns-batch-file.txt
file dalam mode batch.
dig -f dns-batch-file.txt +noall +answer
Seperti yang Anda lihat di bawah, informasi DNS untuk semua domain telah ditanyakan dan ditampilkan dalam format tabel.
Mengontrol Perilaku DiG Menggunakan .digrc Berkas
DiG membaca berbagai pengaturan dari file ~/.digrc saat Anda menjalankan perintah dig. File ini berisi berbagai pengaturan yang memungkinkan Anda mengontrol bagaimana dig
perintah berperilaku. Dengan ~/.digrc file , Anda dapat mengatur server DNS default yang dig
perintah harus menanyakan atau menyetel jenis rekaman default ke kueri jika Anda tidak menentukan apa pun.
Mungkin Anda bertujuan untuk mendapatkan jawaban mendetail dan mengabaikan semua bagian lain hampir sepanjang waktu saat menjalankan dig
memerintah. Dalam kasus seperti itu, Anda dapat menggunakan ~./digrc file untuk mengatur gaya keluaran default untuk dig
perintah, seperti pada contoh berikut.
Jalankan echo
perintah di bawah ini, yang tidak memberikan output, tetapi menambahkan +noall +answer
baris ke ~/.digrc berkas.
echo "+noall +answer" > ~/.digrc
Sekarang, jalankan dig
perintah untuk menanyakan nama domain tanpa argumen. Ganti domain
dengan nama domain pilihan Anda.
dig domain
Anda dapat melihat bahwa output sekarang hanya berisi bagian jawaban, seperti yang ditunjukkan di bawah ini. DiG akan menggunakan +noall +answer
bendera dari ~/.digrc file meskipun Anda tidak menambahkan tanda apa pun saat menjalankan perintah dig.
Kesimpulan
Dalam artikel ini, Anda telah mempelajari berbagai fitur Linux dig
perintah untuk meminta server DNS secara efektif. Anda juga telah menyentuh penyesuaian dig
yang Anda inginkan output perintah menggunakan beberapa flag.
Pada titik ini, Anda sudah tahu cara memanfaatkan dig
Linux perintah dalam pekerjaan Anda sehari-hari, terutama saat memecahkan masalah jaringan.
Namun, jangan berhenti di sini. Ada lebih banyak hal yang dapat Anda capai dengan dig
Linux memerintah. Mengapa tidak menggunakan dig
perintah untuk melakukan pencarian DNS terbalik untuk menemukan nama domain yang terkait dengan alamat IP?