بصفتك مسؤول شبكة ، ستجد أن ملف nslookup
command هو أحد أهم أدواتك. باستخدام nslookup ، يمكنك التحقق من سجلات DNS لاستكشاف مشكلات خادم DNS أو سجل DNS محدد وإصلاحها. في هذه المقالة ، نلقي نظرة فاحصة على nslookup ونعرض لك بعض الأمثلة العملية لكيفية استخدامها.
ما هو nslookup؟
Nslookup تعني “بحث خادم الاسم”. تُستخدم أداة سطر الأوامر nslookup للاستعلام عن نظام اسم المجال (DNS) للحصول على اسم المجال أو تعيين عنوان IP أو سجلات DNS الأخرى. إنه بسيط ولكنه قوي ، ويمكنك استخدامه لمعرفة المزيد من المعلومات حول سجل DNS.
لماذا تستخدم NSLOOKUP؟
الأمر nslookup هو أداة استعلام DNS قوية جدًا. يمكن استخدامه لاستكشاف مشكلات DNS وإصلاحها أو ببساطة للحصول على معلومات حول سجل DNS. على سبيل المثال ، يمكنك استخدام nslookup لمعرفة عنوان IP لموقع ويب أو لمعرفة سجلات DNS الخاصة بالمجال.
مع ذلك ، دعنا نلقي نظرة فاحصة على كيفية تثبيت واستخدام nslookup.
تثبيت nslookup على لينكس
في معظم توزيعات Linux ، يتم تضمين nslookup في ملف bind-utils
حزمة.
في Debian أو Ubuntu ، يمكنك استخدام مدير الحزم المناسب:
sudo apt install dnsutils-y
في Centos / RHEL / Fedora ، يمكنك استخدام مدير الحزم yum:
sudo yum install bind-utils -y
على ArchLinux:
تنفيذ استعلام بسيط
الصيغة العامة للأمر nslookup هي كما يلي:
nslookup <domain-name><options>
<domain-name>
هو اسم المجال الذي تريد الاستعلام عنه ، و <options>
هي أي خيارات تريد استخدامها. تتحكم هذه الخيارات في كيفية تصرف nslookup. سوف تتعلم المزيد عن الخيارات خلال هذا البرنامج التعليمي. الآن ، لنبدأ بمثال بسيط.
لإجراء استعلام DNS بسيط ، حدد اسم المجال الذي تريد الاستعلام عنه دون تحديد أي خيارات.
على سبيل المثال ، قم بتشغيل الأمر التالي للاستعلام عن سجلات DNS عن اسم المجال google.com:
يقوم هذا الأمر بإرجاع جميع سجلات DNS لاسم المجال المحدد.
فهم المخرجات
عند تشغيل الأمر nslookup دون تحديد أي خيارات ، فإنه سيعيد الكثير من المعلومات افتراضيًا. دعنا نلقي نظرة فاحصة على ما يعنيه هذا الناتج.
أول شيء ستراه هو ملف server
و ال address
التي يستخدمها nslookup. بشكل افتراضي ، يستخدم nslookup خادم DNS الذي تم تكوينه على نظامك. في معظم الحالات ، سيكون هذا هو خادم DNS لمزود خدمة الإنترنت الخاص بك.
في هذه الحالة ، الخادم هو “127.0.0.53” ، وهو عنوان IP للمضيف المحلي ، يقوم هذا البرنامج التعليمي بتشغيل nslookup على نفس الجهاز الذي يستضيف خادم DNS الخاص بي. إذا كنت لا تقوم بتشغيل خادم DNS الخاص بك ، فسترى عنوان IP لخادم DNS الخاص بمزود خدمة الإنترنت.
المنفذ 53 هو المنفذ المستخدم لاستعلامات DNS وهو المنفذ القياسي لاستعلامات DNS.
بعد معلومات الخادم ، سترى ملف Non-authoritative answer
خط. يشير هذا السطر إلى أن الإجابة التي تلقاها nslookup لم تكن من خادم DNS الموثوق للمجال. يتم تخزين هذه الإجابة مؤقتًا وإعادة توجيهها من الخادم المحلي الذي طلب منه nslookup.
في معظم الحالات ، هذا جيد تمامًا ، ولا داعي للقلق بشأنه. ولكن إذا كنت تقوم باستكشاف مشكلات DNS وإصلاحها ، فقد ترغب في الحصول على إجابة من خادم DNS الموثوق للمجال.
تحت ال Non-authoritative answer
السطر ، سترى سجلات DNS لاسم المجال المحدد. في هذه الحالة ، تم إرجاع سجلين من سجلات A. تحتوي سجلات A هذه على عناوين IP لاسم المجال.
سترى أيضًا أن هناك عناوين IP مختلفة تم إرجاعها ، حيث أنشأت Google “موازنة تحميل DNS”. عند الاستعلام عن خوادم DNS الخاصة بـ Google ، ستحصل على عنوان IP مختلف في كل مرة لتوزيع الحمل عبر خوادمهم وجعل الأمور أسرع للجميع.

ملحوظة: إذا لم تحصل على أي نتائج ، فقد تحتاج إلى مسح ذاكرة التخزين المؤقت لنظام أسماء النطاقات على نظامك. إذا قمت بتحرير ملف “/ etc / hosts” الخاص بك ، فقد يؤدي ذلك إلى تحريف نتائج nslookup أيضًا.
استخدام خادم DNS محدد
يمكن أن يكون استخدام خادم DNS محددًا مفيدًا إذا كنت تقوم باستكشاف مشكلات DNS المتعلقة بخادم DNS محدد. أو ، ربما تكون على شبكة تستخدم خادم DNS خاصًا وتريد الاستعلام باستخدام هذا الخادم بدلاً من خوادم DNS الخاصة بمزود خدمة الإنترنت.
لاستخدام خادم DNS محدد مع nslookup ، تحتاج إلى تحديد اسم المجال الذي تريد الاستعلام عنه متبوعًا بخادم DNS. على سبيل المثال ، للاستعلام عن سجلات DNS لموقع superuser.com باستخدام خوادم Google DNS (8.8.8.8) ، قم بتشغيل الأمر التالي:
nslookup superuser.com 8.8.8.8
تعد خوادم Google DNS خيارًا جيدًا لأنها سريعة وموثوقة ، ولكن يمكنك استخدام أي خادم DNS ترغب فيه.
هذه المرة ، حصلنا على سجلات DNS من خوادم Google DNS – وأربعة سجلات A بدلاً من اثنين ، حيث يستخدم superuser.com أربعة خوادم DNS مختلفة للتعامل مع حركة المرور.
يمكنك استخدام نفس هذه التقنية للاستعلام عن أي خادم DNS تريده. حدد اسم المجال متبوعًا بعنوان IP لخادم DNS.

تحديد نوع السجل
بشكل افتراضي ، سيعيد nslookup جميع سجلات DNS للمجال. ولكن ماذا لو كنت تريد الاستعلام فقط عن نوع سجل معين؟
على سبيل المثال ، ربما تحاول الوصول إلى موقع ويب ولكن تتلقى خطأ يفيد بأن خادم DNS لا يمكنه العثور على سجل A للمجال. في هذه الحالة ، يمكنك استخدام nslookup للاستعلام عن السجل A ومعرفة ما إذا كان يُرجع عنوان IP الصحيح.
للاستعلام عن نوع سجل DNS محدد ، استخدم ملف -type
اختيار. يتطلب وسيطة واحدة ، وهي نوع السجل الذي تريد الاستعلام عنه. أكثر أنواع سجلات DNS شيوعًا هي:
- ج: سجل العنوان – يعيّن اسم المجال إلى عنوان IPv4.
- AAAA: IPv6 Address Record – تعيين اسم المجال إلى عنوان IPv6.
- CNAME: سجل الاسم المتعارف عليه – يعيّن اسمًا مستعارًا على اسم مجال حقيقي ويكون مفيدًا عند تشغيل خادم ويب FPT أو Nginx.
- MX: Mail Exchange Record – يعيّن اسم المجال إلى خادم بريد إلكتروني ويساعدك على التحقق من إعداد بريدك الإلكتروني بشكل صحيح.
- NS: سجل خادم الاسم – يعيّن اسم المجال إلى خادم DNS ويحدد خادم DNS المسؤول عن المجال ومكان العثور على سجلات DNS لهذا المجال.
- TXT: سجل النص – يخزن معلومات نصية لنطاق ما ، ويمكن استخدامه لتخزين أشياء مثل سجلات نظام التعرف على هوية المرسل (SPF) ويضمن أن بريدك الإلكتروني في مأمن من البريد العشوائي أو هجمات التصيد الاحتيالي.
استخدم بناء الجملة التالي للاستعلام عن نوع سجل معين:
nslookup <domain> <dns_server> set type=<record_type>
على سبيل المثال ، قم بتشغيل الأمر التالي للاستعلام عن ملف CNAME
سجل superuser.com:
nslookup superuser.com -type=cname

للاستعلام عن ملف MX
سجل google.com، قم بتشغيل الأمر التالي:
nslookup google.com -type=mx

وبالمثل ، يمكنك الاستعلام عن أي نوع سجل DNS آخر تريده – فقط تأكد من استخدام نوع السجل الصحيح في الأمر.
الاستعلام عن كافة أنواع سجلات DNS
إذا كنت تريد الاستعلام عن جميع أنواع سجلات DNS لمجال ما ، فأنت بحاجة إلى استخدام ملحق -type=any
اختيار. يقوم بإرجاع كل نوع سجل لمجال ، بما في ذلك A ، AAAA ، CNAME ، MX ، إلخ.
يمكن أن يكون هذا الخيار مفيدًا إذا كنت ترغب في الحصول على صورة كاملة لسجلات DNS للمجال.
على سبيل المثال ، قم بتشغيل الأمر التالي للاستعلام عن جميع سجلات DNS الخاصة بـ google.com:
nslookup -type=any superuser.com
كما ترى أدناه ، يُرجع هذا الأمر جميع سجلات DNS لـ google.com:

إجراء بحث DNS عكسي
بالإضافة إلى الاستعلام عن خوادم DNS للحصول على معلومات حول المجال ، يمكنك أيضًا استخدام nslookup للاستعلام عن خوادم DNS للحصول على معلومات حول عنوان IP. وهذا ما يسمى ببحث DNS العكسي.
افترض أن لديك عنوان IP الخاص بالخادم وتريد العثور على اسم مضيف ذلك الخادم. يمكن أن يساعدك بحث DNS العكسي في القيام بذلك.
لإجراء بحث DNS عكسي ، قم بتشغيل ملف nslookup
متبوعًا بعنوان IP الذي تريد البحث عنه.
على سبيل المثال ، قم بتشغيل الأمر التالي لإجراء بحث DNS عكسي عن عنوان IP “142.250.204.46”:
سيعيد هذا اسم مضيف الخادم بعنوان IP 142.250.204.46.
تمكين وضع التصحيح
يمكن للمستخدمين المتقدمين تمكين وضع التصحيح في nslookup للحصول على مزيد من المعلومات حول استعلامات DNS. يعد هذا الوضع مفيدًا إذا كنت تقوم باستكشاف مشكلات DNS وإصلاحها وترغب في معرفة ما يحدث وراء الكواليس.
لتمكين وضع التصحيح ، استخدم ملف -debug
اختيار. على سبيل المثال ، للاستعلام عن السجل A. google.com وقم بتمكين وضع التصحيح ، قم بتشغيل الأمر التالي:
nslookup -debug google.com

يقوم هذا الأمر بإرجاع الكثير من المعلومات حول استعلام DNS. يمكن أن تكون هذه المعلومات مفيدة إذا كنت تحاول استكشاف مشكلات DNS وإصلاحها.
تسجيل الإخراج إلى ملف
قد يكون من المفيد تسجيل إخراج nslookup في ملف. يمكنك حفظ هذا الملف ومشاركته مع زملائك من مسؤولي النظام حتى يتمكنوا من مساعدتك في استكشاف مشكلات DNS وإصلاحها.
استخدم بناء الجملة التالي لحفظ ناتج nslookup في ملف:
nslookup <domain> > /path/to/file
على سبيل المثال ، للاستعلام عن جميع سجلات نظام أسماء النطاقات A لـ google.com وحفظ الإخراج في ملف يسمى “google_dns_records.txt” ، قم بتشغيل الأمر التالي. ال >
يستخدم الرمز لإعادة توجيه إخراج الأمر إلى ملف.
nslookup -debug google.com > google_dns_records.txt
قم بتشغيل ls -la
الأمر أدناه للتحقق من إنشاء ملف السجل:
ls -la google_dns_records.txt
كما ترى أدناه ، تم إنشاء الملف بنجاح.

قم بتشغيل cat
الأمر أدناه لعرض محتويات الملف.
cat google_dns_records.txt
كما ترى أدناه ، يحتوي ملف السجل على جميع سجلات DNS لـ google.com.

استخدام الوضع التفاعلي
خلال هذه المقالة ، استخدمنا الأمر nslookup مع خيارات مختلفة للاستعلام عن خوادم DNS في الوضع غير التفاعلي ، والذي يسمح لك بتحديد جميع الخيارات في أمر واحد.
بالإضافة إلى الوضع غير التفاعلي ، يحتوي nslookup أيضًا على وضع تفاعلي. في الوضع التفاعلي ، يمكنك إصدار أوامر مختلفة للاستعلام عن خوادم DNS دون الحاجة إلى كتابة الأمر nslookup بالكامل في كل مرة.
بشكل عام ، إذا كنت ستصدر بعض استعلامات DNS ، فإن الوضع غير التفاعلي هو السبيل للذهاب. ولكن إذا كنت ستصدر العديد من استعلامات DNS أو ترغب في تجربة خيارات nslookup المختلفة ، فقد يكون الوضع التفاعلي أكثر ملاءمة ومنطقية.
للدخول إلى الوضع التفاعلي ، قم بتشغيل الأمر أدناه.
موجهك سوف يتغير إلى >
كما هو مبين أدناه. يشير هذا إلى أنك الآن في الوضع التفاعلي.

يمكنك تشغيل جميع أوامر nslookup التي غطيناها في هذا البرنامج التعليمي دون الحاجة إلى الكتابة nslookup
كل مرة.

للخروج من الوضع التفاعلي ، قم بتشغيل ملف exit
يأمر.

إذا كنت تريد معرفة المزيد حول استخدام nslookup ، فراجع صفحة دليل nslookup.
nslookup مقابل حفر
يعد كل من nslookup و dig أدوات رائعة للاستعلام عن خوادم DNS. بشكل عام ، ستمنحك كلتا الأداتين نفس النتائج. يمكنك تشغيل استعلام باستخدام كلتا الأداتين ومقارنة النتائج. هذه طريقة رائعة للتحقق من نتائج الاستعلام الخاص بك.
إذا كان عليك اختيار أداة على الأخرى ، فمن المستحسن استخدام الحفر ، لأن nslookup قديم. تم إصداره لأول مرة في أوائل الثمانينيات وتم التخلي عنه إلى حد كبير من قبل مطوريه. على النقيض من ذلك ، لا يزال البحث قيد التطوير بنشاط ، فمن المرجح أن تجد ميزات وإصلاحات أخطاء جديدة في الحفر مقارنةً بـ nslookup.
ملحوظة: إذا كنت ترى خطأ اتصال “لا يوجد توجيه إلى المضيف” ، فلدينا إصلاحات هنا.
أسئلة مكررة
هل nslookup هو DNS؟
لا ، إن nslookup هي أداة إدارة شبكة للاستعلام عن نظام اسم المجال (DNS) وتتطلب خادم DNS لكي يعمل. ومع ذلك ، يمكن لـ nslookup أيضًا استخدام ملف يسمى “/ etc / hosts” كمصدر لمعلومات DNS.
كيف أتحقق من إعدادات DNS الخاصة بي في Linux؟
ملف “/etc/resolv.conf” هو المكان الذي يتم فيه تخزين إعدادات DNS في Linux. استخدم ال cat
الأمر لعرض محتويات هذا الملف.
واجهت الخطأ “لا يمكن العثور على اسم الخادم …” عند استخدام nslookup. كيف يمكنني حل هذه المشكلة؟
هذا خطأ معروف في nslookup. الحل هو استخدام خادم DNS المحلي الخاص بك لإجراء الاستعلام. احذف معلمة عنوان IP لخادم DNS المخصص من الأمر كـ nslookup google.com
، ويجب أن يعمل.
رصيد الصورة: Unsplash. جميع لقطات الشاشة لنيكولاس شوان نغوين.
هل هذه المقالة مفيدة؟
اشترك في نشرتنا الإخبارية!
تم تسليم أحدث دروسنا مباشرة إلى صندوق الوارد الخاص بك