dig یک ابزار در لینوکس است که از نظر کاربرد شبیه به دستور nslookup می باشد. dig یا Domain Information Groper یک ابزار خط فرمان لینوکسی است که برای مدیریت نام سرورهای دامنه یا DNS بکار میرود. استفاده از این دستور برای بررسی و عیب یابی مشکلات مربوط به DNS مفید است. همچنین شما میتوانید به جست و جوهای مربوط به DNS نیز با این ابزار بپردازید.
در ادامه این آموزش قصد داریم مثال های کاربری دستور dig را همراه با مثال و مختصری توضیح برای شما بیاوریم.
جست و جوی رکورد A یک دامنه
شما میتوانید با دستور زیر به جست و جوری رکوردهای A مربوط به دامنه ای خاص بپردازید:
1 |
root@arshatech:~# dig google.com |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12476 ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 192 IN A 173.194.113.130 google.com. 192 IN A 173.194.113.131 google.com. 192 IN A 173.194.113.134 google.com. 192 IN A 173.194.113.129 google.com. 192 IN A 173.194.113.128 google.com. 192 IN A 173.194.113.136 google.com. 192 IN A 173.194.113.135 google.com. 192 IN A 173.194.113.132 google.com. 192 IN A 173.194.113.137 google.com. 192 IN A 173.194.113.142 google.com. 192 IN A 173.194.113.133 ;; Query time: 63 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Fri Oct 12 07:43:14 EDT 2018 ;; MSG SIZE rcvd: 215 |
دستور فوق درخواست خود را به سرورهای DNS مقصد ارسال کرده و پاسخ را برای شما نمایش میدهد.
اگر شما از عبارت short+ در دستور بالا استفاده کنید خروجی شما به صورت خلاصه شده فقط آدرس آی پی های متعلق به رکوردهای A دامنه مورد نظر را بر میگرداند:
1 |
root@arshatech:~# dig google.com +short |
1 2 3 4 5 6 7 8 9 10 11 |
74.125.232.229 74.125.232.231 74.125.232.227 74.125.232.233 74.125.232.224 74.125.232.230 74.125.232.232 74.125.232.226 74.125.232.225 74.125.232.228 74.125.232.238 |
جست و جوی رکورد NS یک دامنه
برای بدست آوردن تمامی رکوردهای NS مربوط به یک دامنه کافیست از دستور زیر استفاده کنید:
1 |
root@arshatech:~# dig google.com NS |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com NS ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15076 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN NS ;; ANSWER SECTION: google.com. 21599 IN NS ns1.google.com. google.com. 21599 IN NS ns3.google.com. google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns4.google.com. ;; Query time: 148 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Fri Oct 12 08:20:31 EDT 2018 ;; MSG SIZE rcvd: 111 |
جست و جوی رکورد MX یک دامنه
MX Record یا به عبارتی Mail Exchanger Record (رکورد مبدل ایمیل)، یکی از رکورد های مربوط به سرویس DNS می باشد. رکورد های MX مربوط به یک دامنه مشخص می کنند که ایمیل ها چگونه باید از طریق پروتکل SMTP(Simple Mail Transfer Protocol) هدایت شوند. برای دریافت اطلاعات مربوط به رکورد MX نیز میتوانید از دستور زیر استفاده کنید:
1 |
root@arshatech:~# dig google.com MX |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com MX ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9843 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN MX ;; ANSWER SECTION: google.com. 452 IN MX 10 aspmx.l.google.com. google.com. 452 IN MX 30 alt2.aspmx.l.google.com. google.com. 452 IN MX 50 alt4.aspmx.l.google.com. google.com. 452 IN MX 20 alt1.aspmx.l.google.com. google.com. 452 IN MX 40 alt3.aspmx.l.google.com. ;; Query time: 136 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Fri Oct 12 07:48:59 EDT 2018 ;; MSG SIZE rcvd: 147 |
جست و جوی رکورد SOA یک دامنه
رکورد SOA یا Start Of Authority به عنوان اولین رکورد در فایل DNS یا Zone File شناخته می شود که حاوی نام سرور دی ان اس اصلی می باشد. برای بدست آوردن رکورد SOA در یک دامنه به صورت زیر عمل میکنیم:
1 |
root@arshatech:~# dig google.com SOA |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com SOA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30388 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN SOA ;; ANSWER SECTION: google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216833878 900 900 1800 60 ;; Query time: 147 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Fri Oct 12 08:07:15 EDT 2018 ;; MSG SIZE rcvd: 89 |
جست و جوی تمامی رکوردهای یک دامنه
برای بدست آوردن لیست تمامی رکوردهای یک دامنه میتوانید به صورت زیر عمل نمائید:
1 |
root@arshatech:~# dig google.com ANY +noall +answer |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com ANY +noall +answer ;; global options: +cmd google.com. 1 IN A 172.217.21.46 google.com. 1 IN AAAA 2a00:1450:4016:80a::200e google.com. 414 IN MX 10 aspmx.l.google.com. google.com. 414 IN MX 20 alt1.aspmx.l.google.com. google.com. 414 IN MX 30 alt2.aspmx.l.google.com. google.com. 414 IN MX 50 alt4.aspmx.l.google.com. google.com. 414 IN MX 40 alt3.aspmx.l.google.com. google.com. 275230 IN NS ns2.google.com. google.com. 275230 IN NS ns1.google.com. google.com. 275230 IN NS ns3.google.com. google.com. 275230 IN NS ns4.google.com. |
نمایش معکوس DNS
اگر میخواهید از روی یک آدرس آی پی، DNS مربوط به آن را بدست بیاورید میتوانید از دستور زیر استفاده کنید:
1 |
root@arshatech:~# dig -x 98.138.219.232 +short |
1 |
media-router-fp2.prod1.media.vip.ne1.yahoo.com. |
جست و جوی چندین رکورد برای یک دامنه خاص
اگر شما میخواید همزمان به جست و جوی دو یا چند رکورد خاص از یک دامنه خاص بپردازید به صورت زیر عمل کنید. ما در این مثال به جست و جوی رکورهای NS و MX میپردازیم:
1 |
root@arshatech:~# dig google.com mx +noall +answer google.com ns +noall +answer |
1 2 3 4 5 6 7 8 9 10 11 |
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com mx +noall +answer google.com ns +noall +answer ;; global options: +cmd google.com. 488 IN MX 50 alt4.aspmx.l.google.com. google.com. 488 IN MX 20 alt1.aspmx.l.google.com. google.com. 488 IN MX 40 alt3.aspmx.l.google.com. google.com. 488 IN MX 30 alt2.aspmx.l.google.com. google.com. 488 IN MX 10 aspmx.l.google.com. google.com. 57281 IN NS ns1.google.com. google.com. 57281 IN NS ns2.google.com. google.com. 57281 IN NS ns3.google.com. google.com. 57281 IN NS ns4.google.com. |