สำหรับชาว System Administrator คำสั่งเรียกดูข้อมูล DNS นั้น เป็นคำสั่งที่สำคัญเช่นกัน ในขั้นตอนการตั้ง Domain ใหม่ และขั้นตอนการตรวจสอบปัญหา (Troubleshooting) ของระบบ Network และ Domain ที่ต้องการเรียกใช้งาน
บน Linux คำสั่งสำหรับการเรียกดูรายละเอียดของ DNS นั้นคือคำสั่ง dig โดยคำสั่งนี้จะถูกลงพร้อมกับ Package bind ในตัว linux (ก่อนหน้านี้ Linux ใช้คำสั่ง nslookup เช่นเดียวกันกับ Windows แต่ในปัจจุบันได้มีการพัฒนาคำสั่ง dig ขึ้นมาใหม่ให้มีความสามารถมากขึ้น และนำคำสั่ง dig มาใช้แทน คำสั่ง nslookup)
เมื่อเรียกใช้คำสั่ง dig เราจะสามารถเลือกได้ว่าเราจะเลือก query ค่า DNS จาก DNS Server ของเราเอง หรือว่า query จาก DNS Server ตัวอื่น โดยข้อมูลที่ query ออกมาได้ จะเห็น root name servers ของตัว Domain นั้นด้วย
ตัวอย่างการใช้คำสั่ง dig มีดังนี้
$ dig google.com
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29558
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 2
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 226 IN A 74.125.19.99
google.com. 226 IN A 74.125.19.103
google.com. 226 IN A 74.125.19.104
google.com. 226 IN A 74.125.19.147
;; AUTHORITY SECTION:
. 55953 IN NS c.root-servers.net.
. 55953 IN NS d.root-servers.net.
. 55953 IN NS e.root-servers.net.
. 55953 IN NS f.root-servers.net.
. 55953 IN NS g.root-servers.net.
. 55953 IN NS h.root-servers.net.
. 55953 IN NS i.root-servers.net.
. 55953 IN NS j.root-servers.net.
. 55953 IN NS k.root-servers.net.
. 55953 IN NS l.root-servers.net.
. 55953 IN NS m.root-servers.net.
. 55953 IN NS a.root-servers.net.
. 55953 IN NS b.root-servers.net.
;; ADDITIONAL SECTION:
i.root-servers.net. 604759 IN A 192.36.148.17
l.root-servers.net. 208308 IN AAAA 2001:500:3::42
;; Query time: 58 msec
;; SERVER: 192.168.250.12#53(192.168.250.12)
;; WHEN: Wed May 12 18:06:50 2010
;; MSG SIZE rcvd: 347
ข้อมูลที่ query ออกมาได้อาจจะเยอะเกินความจำเป็น เราจึงสามารถเลือกดูเฉพาะ a record ได้โดยการใส่ option ดังนี้
$ dig google.com +noauthority +noadditional
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> google.com +noauthority +noadditional
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55797
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 2
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 42 IN A 74.125.19.104
google.com. 42 IN A 74.125.19.147
google.com. 42 IN A 74.125.19.99
google.com. 42 IN A 74.125.19.103
;; Query time: 0 msec
;; SERVER: 192.168.250.12#53(192.168.250.12)
;; WHEN: Wed May 12 18:09:54 2010
;; MSG SIZE rcvd: 347
หากต้องการทราบ MX Record สามารถใช้คำสั่งดังนี้
$ dig MX google.com +short
200 google.com.s9a2.psmtp.com.
300 google.com.s9b1.psmtp.com.
400 google.com.s9b2.psmtp.com.
100 google.com.s9a1.psmtp.com.
หากต้องการ ดู record อื่น ให้แทนค่า MX ด้วยค่าที่ต้องการดู เช่น NS คือ ดู Name Server หรือ ANY คือดูค่าทั้งหมด
option +short คือการสั่งให้แสดงเฉพาะรายละเอียดที่ต้องการดูเท่านั้น
หากต้องการดูค่า SPF Record ให้เรียกคำสั่งดังนี้
$ dig TXT google.com +short
“v=spf1 include:_netblocks.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all”
หากต้องการ ดูค่า reverse DNS จากเลข IP ให้ใช้ option -x เช่น
$ dig -x 74.125.148.13 +short
s9b1.psmtp.com.
หากต้องการ dig โดยดูจาก DNS Server ตัวอื่นให้ใช้คำสั่งดังนี้
$ dig @ns.isp.com google.com
option อื่นๆ ของคำสั่ง dig เราสามารถดูเพิ่มเติมได้โดยการใช้คำสั่ง dig -h ครับ