مقدّمة
تتوفّر الأداة Dig على توزيعات لينكس للاستعلام من خواديم أسماء النطاقات DNS. تساعد هذه الأداة كثيرا في تشخيص مشاكل النطاقات، كما أنها مناسبة للتأكد من أن إعدادات الشبكة تعمل على النحو المتوقّع.
نقدّم في هذا المقال طريقة استخدام الأمر dig
للتحقّق من إعدادات أسماء النطاقات والحصول على معلومات عن كيفيّة ظهور نطاقك على شبكة الإنترنت. سنرى خلال هذا الدرس كذلك أدوات مصاحبة تكمّل عمل Dig.
نفّذنا الأوامر المعروضة في هذا المقال على الإصدار 16.04 من أوبنتو، إلا أنه من المُفترَض أن تعمل بطريقة مماثلة على أغلب توزيعات لينكس الحديثة.
كيف يُستخدم الأمر dig
أسهل طريقة لاستخدام الأمر dig
هي تمرير اسم النطاق الذي نريد الاستعلام عنه إلى الأمر:
dig example.com
نختبر - مثلا - محرّك البحث DuckDuckGo لنرى المعلومات التي سنحصُل عليها عنه:
dig duckduckgo.com
النتيجة:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> duckduckgo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64718
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;duckduckgo.com. IN A
;; ANSWER SECTION:
duckduckgo.com. 176 IN A 50.18.192.251
duckduckgo.com. 176 IN A 50.18.192.250
;; Query time: 270 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Thu Apr 20 13:28:31 GMT 2017
;; MSG SIZE rcvd: 75
توجد الكثير من المعلومات في النتيجة أعلاه، فلنفحصها الواحدة تلو الأخرى.
; <<>> DiG 9.10.3-P4-Ubuntu <<>> duckduckgo.com
;; global options: +cmd
تمثّل الأسطر أعلاه ترويسة Header الاستعلام المُرسَل. يمكن تنفيذ الأمر dig
على وضع الدُّفعات Batch mode، لذا من الجيّد أن تظهر الترويسات المناسبة لكلّ وضع من أجل تسهيل تحليل النتائج وقراءتها.
تأتي بعد ذلك الأسطُر التالية.
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64718
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
يُقدّم هذا المقطع ملخصًّا تقنيًّا لنتائج الاستعلام. يظهر أن الاستعلام نُفِّذ بنجاح (status: NOERROR
، أي “الحالة: لا أخطاء”)، أن الأمر استخدم الخيارات qr rd ra
وأننا حصلنا على إجابتيْن ANSWER: 2
، ومقطع معلومات إضافيّ واحد ADDITIONAL: 1
.
يظهر بعدها المقطع الإضافيّ الذي يحوي سجلّا من نوع OPT
يشير إلى أن الخادوم يدعم معيار EDNS المطلوب لتطبيق إجراءات أمنيّة مثل DNSSEC.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
ثم يأتي دور الإجابة الفعليّة التي تُظهر البيانات التي حصلنا عليها من الاستعلام.
;; QUESTION SECTION:
;duckduckgo.com. IN A
;; ANSWER SECTION:
duckduckgo.com. 176 IN A 50.18.192.251
duckduckgo.com. 176 IN A 50.18.192.250
يعيد المقطع الموالي ذكر الطلب الذي أرسلناه إليه (QUESTION SECTION
) ويطبع بعدها سجلّات DNS الموافقة له.
يُرجع الأمر dig
مبدئيّا السجلات من النوع A
. تُظهر النتيجة أعلاه أن لـduckduckgo.com
سجليْن من هذا النوع، يحويان عناوين IP المميّزة لاسم النطاق المطلوب. يشير العدد 176
إلى المُعطى TTL أي مدة صلاحيّة المعلومة؛ وهي المدة التي سينتظرها خادوم أسماء النطاقات قبل أن يعيد النظر في الارتباط بين اسم النطاق وعنوان IP. تعني IN
أن هذا السّجل من سجلات الإنترنت المعيارية.
تظهر ختام تنفيذ الأمر معلومات إحصائيّة عن الاستعلام، ومن بينها المدّة التي استغرقها الخادوم للإجابة. يمكن أن تدلّ هذه المعلومة على وجود مشاكل في خادوم الأسماء (الخادوم يُطيل في الإجابة على الطلب).
;; Query time: 27 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Thu Apr 20 13:28:31 GMT 2017
;; MSG SIZE rcvd: 75
كيف تستخدم Dig لاختبار سجلات DNS
تحوي إجابة dig
مبديئا معلومات عن السجلات من النوع A
، إلا أنه يمكن تحديد نوع السجل المطلوب بذكره بعد اسم النطاق:
dig your_domain_name.com record_type
يستفسر الأمر التالي عن السجلّات من نوع MX
(البريد الإلكتروني):dig duckduckgo.com MX
يُظهر مقطع الإجابة السجلات التاليّة:
;; QUESTION SECTION:
;duckduckgo.com. IN MX
;; ANSWER SECTION:
duckduckgo.com. 300 IN MX 60 mx2.dnsmadeeasy.com.
duckduckgo.com. 300 IN MX 40 mx1.dnsmadeeasy.com.
duckduckgo.com. 300 IN MX 10 in1-smtp.messagingengine.com.
duckduckgo.com. 300 IN MX 20 in2-smtp.messagingengine.com.
duckduckgo.com. 300 IN MX 50 mx3.dnsmadeeasy.com.
نمرّر القيمة ANY
مكان اسم السجل إن أردنا الحصول على معلومات عن جميع سجلات النطاق:
dig duckduckgo.com ANY
تتضمّن نتائج الأمر السابق جميع السجلّات التي توافق النطاق duckduckgo.com
مهما كان نوعها.
ملحوظة: نظرا لآليّة عمل نظام أسماء النطاقات فإن ظهور سجلّ أضيف حديثا إلى النطاق قد يأخذ وقتا. انتظر انقضاء مدّة TTL عند إضافة سجلّ جديد إلى النطاق، قبل أن تعيد الاستعلام عنه.
إذا كان كلّ ما تريد البحث عنه هو عنوان (أو عناوين) IP الذي يُشير إليه النطاق فتمرير short+
مكان نوع السجل يعطيك الإجابة:
dig duckduckgo.com +short
النتيجة:
50.18.192.250
50.18.192.251
استعمال الأمر host بدلا من dig
الأمر host
هو بديل للأمر dig
يشبهه في خيارات الاستخدام. يُنفَّذ الأمر host
على النحو التالي:
host domain_name_or_IP_address
حيث domain_name_or_IP_address
هو اسم نطاق أو عنوان IP. لاحظ أن الأمر host
لا يحتاج لخيارات من أجل تغيير وظيفة البحث من استعلام DNS العادي إلى استعلام DNS المعكوس (معرفة اسم النطاق انطلاقا من عنوان IP)؛ إذ يختار الوظيفة المناسبة انطلاقا من المعطى المُمرَّر.
يمكن تحديد نوع السجلّات التي تهمّك بتمرير الخيار t-
متبوعا باسم السجّل:
host -t mx duckduckgo.com
النتيجة:
duckduckgo.com mail is handled by 20 in2-smtp.messagingengine.com.
duckduckgo.com mail is handled by 10 in1-smtp.messagingengine.com.
duckduckgo.com mail is handled by 50 mx3.dnsmadeeasy.com.
duckduckgo.com mail is handled by 40 mx1.dnsmadeeasy.com.
duckduckgo.com mail is handled by 60 mx2.dnsmadeeasy.com.
استخدم الخيار a-
إن أردت معلومات عن جميع أنواع السجلات (الإجابة قد تكون طويلة):
host -a duckduckgo.com
يمكن أيضا استخدام الخيار v-
للحصول على معلومات إضافية عن المضيف:
host -v duckduckgo.com
أدوات أخرى للاستعلام عن أسماء النطاقات
Ping
يُعدّ استخدام الأمر ping
إحدى أسهل الطرق لمعرفة ما إذا كان الخادوم يميّز الأسماء بطريقة صحيحة:
ping your_domain_name.com
تشبه نتيجة الأمر ما يلي:
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.026 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.038 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.037 ms
. . .
ستستمر مخرجات الأمر بالظهور إلى أن تضغط على زرّيْ CTRL
وC
معا لإيقافه.
يمكنك أيضا تحديد عدد المُخرجات بالخيار c-
:
ping -c 3 your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.027 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.059 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.042 ms
--- your_domain_name.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.027/0.042/0.059/0.015 ms
استخدام الأمر ping
وسيلة سريعة للتأكّد من أن نتيجة تمييز اسم النطاق هي عنوان IP الذي عيّنته له.
Whois
يتيح ميثاق (بروتوكول) Whois معلومات عن أسماء النطاقات المسجَّلة، بما في ذلك عناوين الخواديم المعدّة للعمل عليها. على الرغم من أن أغلب المعلومات التي يُظهرها الأمر whois
تتعلّق بالتسجيل Registration إلا أنها يمكن أن تكون مفيدة لمعرفة ما إذا كانت خواديم الأسماء Name servers تظهر على نجو سليم.
يُستخدَم الأمر على النحو التالي:
whois your_domain_name.com
تظهر في نتيجة اﻷمر الكثيرُ من المعلومات التي تختلف طريقة عرضها من خادوم إلى آخر.
تظهر خواديم النطاقات التي توجّه إلى عناوين IP الصحيحة عادة في أسفل النتيجة.
خاتمة
يمكن أن تكون الأدوات Ping، Dig وWhois على الرغم من سهولة التعامل معها مفيدة جدًّا لإجراء اختبارات أساسية على أسماء النطاقات، مما يساعدك في اقتصاد الكثير من الوقت ومعرفة مشاكل الإعدادت بسرعة.
ترجمة - بتصرّف - للمقال How To Use Dig, Whois, & Ping on an Ubuntu VPS to Query DNS Data لصاحبه Justin Ellingwood.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.