GNU/Linux >> Belajar Linux >  >> Linux

Perintah Gali di Linux (Pencarian DNS)

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:

  1. 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 setelah dig perintah.

  2. 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 adalah NOERROR , 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.

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

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

  5. 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 domain linux.org menunjuk ke 104.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.

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

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

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

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 #

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:

~/.digrc
+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.


Linux
  1. Cara Menggunakan Perintah Dig di Linux

  2. Perintah mv Linux

  3. Linux du perintah

  1. Perintah ip Linux

  2. Perintah cd Linux

  3. 10 Contoh Perintah nslookup Linux untuk Pencarian DNS

  1. Cara Menggunakan Perintah penggalian Linux (Pencarian DNS)

  2. Perintah ifconfig Linux

  3. gali Contoh Perintah di Linux