dig +trace
bekerja dengan berpura-pura itu adalah server nama dan bekerja di pohon namespace menggunakan kueri iteratif mulai dari akar pohon, mengikuti rujukan di sepanjang jalan.
Hal pertama yang dilakukannya adalah meminta catatan DNS sistem server normal untuk "."
Setelah mendapat respons, yang akan menjadi daftar server nama root saat ini, itu akan memilih satu dan kemudian meminta catatan A untuk nama itu jika tidak mendapatkannya di bagian catatan tambahan pertama kali jadi itu punya alamat IP untuk mengirim permintaan berikutnya. Katakanlah mengambil f.root-servers.net yang alamat IP-nya adalah 192.5.5.241.
Pada titik ini, mari kita gunakan dig +trace www.google.co.uk.
sebagai perintah kami dengan nama domain yang ingin kita lacak jalur resolusi.
Kueri di belakang layar berikutnya adalah ini:
$ dig +norecurse @192.5.5.241 www.google.co.uk
; <<>> DiG 9.9.4 <<>> +norecurse @192.5.5.241 www.google.co.uk
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8962
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 11, ADDITIONAL: 15
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.co.uk. IN A
;; AUTHORITY SECTION:
uk. 172800 IN NS ns5.nic.uk.
uk. 172800 IN NS ns6.nic.uk.
uk. 172800 IN NS ns4.nic.uk.
uk. 172800 IN NS nsc.nic.uk.
uk. 172800 IN NS ns2.nic.uk.
uk. 172800 IN NS ns3.nic.uk.
uk. 172800 IN NS nsd.nic.uk.
uk. 172800 IN NS nsa.nic.uk.
uk. 172800 IN NS ns7.nic.uk.
uk. 172800 IN NS nsb.nic.uk.
uk. 172800 IN NS ns1.nic.uk.
;; ADDITIONAL SECTION:
ns1.nic.uk. 172800 IN A 195.66.240.130
ns2.nic.uk. 172800 IN A 217.79.164.131
ns3.nic.uk. 172800 IN A 213.219.13.131
ns4.nic.uk. 172800 IN A 194.83.244.131
ns5.nic.uk. 172800 IN A 213.246.167.131
ns6.nic.uk. 172800 IN A 213.248.254.130
ns7.nic.uk. 172800 IN A 212.121.40.130
nsa.nic.uk. 172800 IN A 156.154.100.3
nsb.nic.uk. 172800 IN A 156.154.101.3
nsc.nic.uk. 172800 IN A 156.154.102.3
nsd.nic.uk. 172800 IN A 156.154.103.3
ns1.nic.uk. 172800 IN AAAA 2a01:40:1001:35::2
ns4.nic.uk. 172800 IN AAAA 2001:630:181:35::83
nsa.nic.uk. 172800 IN AAAA 2001:502:ad09::3
;; Query time: 45 msec
;; SERVER: 192.5.5.241#53(192.5.5.241)
;; WHEN: Tue Feb 11 19:19:14 MST 2014
;; MSG SIZE rcvd: 507
Wow, jadi sekarang kita tahu bahwa ada server nama untuk uk
dan itulah satu-satunya hal yang diketahui oleh server root. Ini adalah rujukan , karena kami tidak meminta rekursi ( +norecurse
mematikannya).
Bagus, kita bilas dan ulangi. Kali ini kami memilih salah satu uk
server nama dan mengajukan pertanyaan yang sama .
$ dig +norecurse @195.66.240.130 www.google.co.uk
; <<>> DiG 9.9.4 <<>> +norecurse @195.66.240.130 www.google.co.uk
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 618
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.co.uk. IN A
;; AUTHORITY SECTION:
google.co.uk. 172800 IN NS ns1.google.com.
google.co.uk. 172800 IN NS ns3.google.com.
google.co.uk. 172800 IN NS ns2.google.com.
google.co.uk. 172800 IN NS ns4.google.com.
;; Query time: 354 msec
;; SERVER: 195.66.240.130#53(195.66.240.130)
;; WHEN: Tue Feb 11 19:22:47 MST 2014
;; MSG SIZE rcvd: 127
Luar biasa, sekarang kami telah menemukan bahwa uk
server nama tingkat atas tahu ada zona yang dipanggil google.co.uk
dan memberitahu kami untuk bertanya pada server nama itu dengan pertanyaan kami. Ini adalah rujukan lain.
Bilas, ulangi.
Namun, kali ini, kami tidak mendapatkan catatan A di bagian catatan tambahan dari respons, jadi kami memilih satu, katakanlah ns2.google.com, dan kami harus mencari alamatnya. Kami memulai kembali kueri (di root lagi) dan mengejar pohon untuk menemukan alamat IP untuk ns2.google.com. Saya akan melewati bagian itu untuk singkatnya, tetapi kita belajar bahwa IP untuk itu adalah 216.239.34.10.
Jadi pertanyaan kami selanjutnya adalah:
$ dig +norecurse @216.239.34.10 www.google.co.uk
; <<>> DiG 9.9.4 <<>> +norecurse @216.239.34.10 www.google.co.uk
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33404
;; flags: qr aa; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.co.uk. IN A
;; ANSWER SECTION:
www.google.co.uk. 300 IN A 74.125.225.216
www.google.co.uk. 300 IN A 74.125.225.223
www.google.co.uk. 300 IN A 74.125.225.215
;; Query time: 207 msec
;; SERVER: 216.239.34.10#53(216.239.34.10)
;; WHEN: Tue Feb 11 19:26:43 MST 2014
;; MSG SIZE rcvd: 82
Dan kita sudah selesai! (akhirnya) Bagaimana kita tahu kita sudah selesai? Kami mendapat jawaban untuk pertanyaan kami, yang merupakan catatan A untuk www.google.co.uk. Anda juga dapat mengetahui karena ini bukan rujukan lagi, aa
bit tersebut diatur dalam respons terakhir yang berarti ini adalah jawaban resmi untuk permintaan Anda.
Jadi itulah yang terjadi setiap langkah di sepanjang jalan saat Anda menggunakannya dig +trace
.
Perhatikan bahwa jika Anda memiliki versi menggali DNSSEC-sadar dan Anda menambah +dnssec
perintah, Anda mungkin melihat banyak catatan. Apa catatan tambahan itu dibiarkan sebagai latihan untuk pembaca ... tapi masuk ke cara dig +sigchase
kerjanya.