كيفية استخدام أمر الحفر على لينكس
فاطماواتي أحمد زينوري / شاترستوك
لينكس dig
يسمح لك الأمر بالاستعلام عن خوادم DNS وإجراء عمليات بحث عن DNS. يمكنك أيضًا العثور على المجال الذي يؤدي إليه عنوان IP. سنوضح لك كيف!
كيف يعمل أمر الحفر
يستخدم الناس لينوكس dig
أمر للاستعلام نظام اسم المجال (DNS) الخوادم. dig
هو اختصار ل Groper معلومات المجال . باستخدام dig
، يمكنك الاستعلام عن خوادم DNS للحصول على معلومات تتعلق بسجلات DNS المختلفة ، بما في ذلك عناوين المضيف وتبادل البريد وخوادم الأسماء والمعلومات ذات الصلة. كان القصد منه أن يكون أداة لتشخيص مشكلات DNS. ومع ذلك ، يمكنك استخدامه للتجول ومعرفة المزيد حول DNS ، وهو أحد الأنظمة المركزية التي تحافظ على حركة مرور الإنترنت.
يستخدم الإنترنت عناوين بروتوكول الإنترنت (IP) لتحديد المواقع حول الويب ، لكن الأشخاص يستخدمون أسماء النطاقات. عندما تكتب اسم مجال في أحد التطبيقات ، مثل متصفح الويب أو عميل SSH ، يجب ترجمة شيء ما من اسم المجال إلى عنوان IP الفعلي. هذا هو المكان الذي يأتي فيه نظام اسم المجال.
عند استخدام اسم نطاق مع أي برنامج متصل بالإنترنت ، لا يمكن لجهاز التوجيه المحلي الخاص بك حله (ما لم يتم تخزينه مؤقتًا من طلب سابق). لذلك ، يستعلم جهاز التوجيه الخاص بك إما عن خادم DNS الخاص بموفر خدمة الإنترنت (ISP) ، أو أي خادم آخر قمت بتكوين نظامك لاستخدامه. هذه تسمى خوادم طليعة DNS.
إذا تلقى خادم DNS مؤخرًا نفس الطلب من شخص آخر على نفس الكمبيوتر ، فقد تكون الإجابة في انها مخبأ. إذا كان الأمر كذلك ، فإنه ببساطة يرسل نفس المعلومات مرة أخرى إلى برنامجك.
إذا تعذر على الخادم السلائف لنظام أسماء النطاقات تحديد موقع النطاق في ذاكرة التخزين المؤقت الخاصة به ، فإنه يتصل بنظام أسماء النطاقات خادم اسم الجذر . لن يحتفظ خادم الجذر بالمعلومات المطلوبة لتحليل أسماء النطاقات إلى عناوين IP ، ولكنه سيحتفظ بقوائم من الخوادم التي يمكن أن تساعد في طلبك.
الإعلاناتينظر خادم الجذر إلى نطاق المستوى الأعلى الذي ينتمي إليه اسم المجال الخاص بك ، مثل .COM ، .ORG ، .CO.UK ، وما إلى ذلك. ثم يرسل قائمة بخوادم مجال المستوى الأعلى التي تتعامل مع تلك الأنواع من المجالات مرة أخرى إلى خادم طليعة DNS. يمكن للخادم السلائف DNS بعد ذلك تقديم طلبه مرة أخرى ، إلى خادم مجال من المستوى الأعلى.
يرسل خادم المجال ذي المستوى الأعلى تفاصيل ملف خادم اسم موثوق (حيث يتم تخزين تفاصيل المجال) مرة أخرى إلى خادم طليعة DNS. يستعلم خادم DNS بعد ذلك عن خادم الاسم المعتمد الذي يستضيف منطقة النطاق التي أدخلتها في الأصل في برنامجك. يرسل خادم الاسم المعتمد عنوان IP مرة أخرى إلى خادم DNS ، والذي بدوره يرسله إليك مرة أخرى.
التثبيت لك
dig
تم تثبيته بالفعل على أجهزة كمبيوتر Ubuntu 18.04 و Fedora 30 الخاصة بنا. ومع ذلك ، كان علينا تثبيته على كمبيوتر Manjaro 18.04 باستخدام الأمر التالي:
+short
الشروع في الحفر
في مثالنا الأول ، سنقوم بإرجاع عناوين IP المرتبطة باسم النطاق. غالبًا ما ترتبط عناوين IP المتعددة باسم مجال واحد. يحدث هذا غالبًا إذا تم استخدام موازنة التحميل ، على سبيل المثال.
نستخدم +short
خيار الاستعلام ، كما هو موضح أدناه ، والذي يعطينا استجابة مقتضبة:
less
جميع عناوين IP المرتبطة بمجال howtogeek.com مدرجة بالنسبة لنا. في الطرف الآخر من الطيف ، إذا كنا لا تفعل استخدم less
خيار الاستعلام ، الإخراج مطوّل تمامًا.
لذلك ، نكتب ما يلي لتمريره عبر dig
:
dig
يتم عرض الإخراج في +cmd
، كما هو موضح أدناه.
ها هي القائمة الكاملة:
query
دعونا نحلل تلك قطعة قطعة.
رأس
أولاً ، دعونا نلقي نظرة على ما لدينا في الرأس:
iquery
الآن ، إليك ما يعنيه كل ذلك:
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
status
والمجال الذي تم الاستعلام عنه. query
للاستعلام عن مجالات متعددة في وقت واحد. يعرض هذا السطر الخيارات التي تم تطبيقها على كافة استعلامات المجال. في مثالنا البسيط ، كان مجرد الإعداد الافتراضي recursion desired
(الأمر) الخيار. recursion available
. يمكن أن تكون هذه القيمة أيضًا AA
لاستعلام معكوس ، أو dig
إذا كنت تقوم فقط باختبار حالة نظام DNS. dig
و +noall
و +noall
. التكرار هو أحد أشكال بحث DNS (الآخر تكراري). قد ترى أيضًا +noall
، والتي تعني 'إجابة موثوقة' ، مما يعني أن خادم الاسم المعتمد قد قدم الاستجابة. الاختيار الكاذب
بعد ذلك ، نرى ما يلي في Opt Pseudosection:
+stats
دعنا نقسم ذلك:
قسم الأسئلة
في قسم الأسئلة نرى ما يلي:
+noall +answer
إليك ما يعنيه هذا:
+noall +answer
سيطلب سجل (عنوان) A من خادم DNS. قسم الإجابة
يحتوي قسم الإجابة على الإجابات الأربع التالية التي تلقيناها من خادم DNS:
dig
إليك ما تعنيه هذه الإجابات:
قسم الاحصاء
الإحصاء هو القسم الأخير ، ويحتوي على المعلومات التالية:
echo
هذا ما لدينا:
كونها انتقائية
ليس عليك أن تكتفي بنقيض الشفة الضيقة والثرثرة. ال dig
يسمح لك الأمر بتضمين أو استبعاد أقسام من النتائج بشكل انتقائي.
ستزيل خيارات الاستعلام التالية هذا القسم من النتائج:
ال dig
عادةً ما يتم دمج خيار الاستعلام مع أحد الخيارات المذكورة أعلاه لتضمين قسم في النتائج. لذلك ، بدلاً من كتابة سلسلة طويلة من خيارات الاستعلام لإيقاف تشغيل أقسام متعددة ، يمكنك استخدام dig
لإيقافهم جميعًا.
يمكنك بعد ذلك استخدام خيارات الاستعلام الشامل التالية لإعادة تشغيل تلك التي تريد رؤيتها:
نكتب ما يلي لتقديم طلب واستبعاد سطور التعليق:
dig
إذا استخدمنا dig
خيار الاستعلام من تلقاء نفسه ، كما هو موضح أدناه ، لن نحصل على أي ناتج مفيد:
dig
يمكننا بشكل انتقائي إضافة الأقسام التي نريد رؤيتها. لإضافة قسم الإجابة نكتب ما يلي:
@
إذا كتبنا ما يلي لتشغيل dig
، فسنرى أيضًا قسم الإحصائيات:
dig
الإعلانات
ال dig
يتم استخدام التركيبة في كثير من الأحيان. يمكنك إضافة أقسام أخرى إلى سطر الأوامر كما هو مطلوب. إذا كنت تريد تجنب كتابة dig
في سطر الأوامر في كل مرة تستخدم فيها cat
، يمكنك وضعها في ملف تكوين يسمى .digrc. إنه موجود في دليل منزلك.
نكتب ما يلي لإنشاء واحد مع dig
:
-f
يمكننا بعد ذلك كتابة ما يلي للتحقق من محتوياته:
-x
سيتم تطبيق هذين الخيارين الآن على جميع الاستخدامات المستقبلية لـ dig
، كما هو موضح أدناه:
dig
.in-addr.arpa
dig
هذا
sudo pacman -Sy bind-toolsسيتم استخدام ملف التكوين للأمثلة المتبقية في هذه المقالة.
سجلات DNS
عادت المعلومات إلى
dig howtogeek.com +shortالخاص بك يتم سحب الطلبات من أنواع مختلفة من السجلات الموجودة على خادم DNS. ما لم نطلب شيئًا مختلفًا ،
dig howtogeek.com | lessيستعلم عن السجل A (العنوان). فيما يلي أنواع السجلات شائعة الاستخدام مع
; <> DiG 9.11.3-1ubuntu1.11-Ubuntu <> howtogeek.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;howtogeek.com. IN A ;; ANSWER SECTION: howtogeek.com. 3551 IN A 151.101.194.217 howtogeek.com. 3551 IN A 151.101.130.217 howtogeek.com. 3551 IN A 151.101.66.217 howtogeek.com. 3551 IN A 151.101.2.217 ;; Query time: 0 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Mar 22 07:44:37 EDT 2020 ;; MSG SIZE rcvd: 106:
; <> DiG 9.11.3-1ubuntu1.11-Ubuntu <> howtogeek.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1لإرجاع كل نوع من أنواع سجلات DNS. الإعلانات
لا يؤدي تحديد نوع السجل A إلى تغيير الإجراء الافتراضي ، وهو الاستعلام عن سجل العنوان والحصول على عنوان IP ، كما هو موضح أدناه:
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494
للاستعلام عن سجلات تبادل البريد ، نستخدم علامة MX التالية:
;; QUESTION SECTION: ;howtogeek.com. IN A
تعرض علامة خادم الاسم الاسم التالي لخوادم اسم الجذر المرتبطة بمجال المستوى الأعلى:
howtogeek.com. 3551 IN A 151.101.194.217 howtogeek.com. 3551 IN A 151.101.130.217 howtogeek.com. 3551 IN A 151.101.66.217 howtogeek.com. 3551 IN A 151.101.2.217
للاستعلام عن بداية التسجيلة الاستنادية ، نكتب علامة SOA التالية:
;; Query time: 0 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Mar 22 07:44:37 EDT 2020 ;; MSG SIZE rcvd: 106
ستُظهر لنا علامة TTL وقت بقاء البيانات في ذاكرة التخزين المؤقت لخادم DNS. إذا قدمنا سلسلة من الطلبات ، فإننا نرى أن وقت العيش يتقلص إلى لا شيء ، ثم نعود إلى قيمته الأولية.
نكتب ما يلي:
dig howtogeek.com +nocomments
لمشاهدة السجلات النصية ، نكتب علامة TX:
dig howtogeek.com +noall
تحديد خادم DNS
إذا كنت ترغب في استخدام خادم DNS معين لطلبك ، يمكنك استخدام العلامة (
dig howtogeek.com +noall +answer) لتمريرها إلى
dig howtogeek.com +noall +answer +statsكمعامل سطر أوامر. الإعلانات
مع خادم DNS الافتراضي (انظر أدناه) ،
echo '+noall +answer' > $HOME/.digrcتشير إلى وحدة حل كعب التخزين المؤقت المحلي عند 127.0.0.53.
cat .digrc
الآن ، نكتب ما يلي لاستخدام خادم DNS العام لـ Google على 8.8.8.8:
dig ubuntu.org
باستخدام حفر مع مجالات متعددة
يمكننا تمرير عدة مجالات إلى
dig linux.orgفي سطر الأوامر ، كما هو موضح أدناه:
dig github.com
إذا كنت تتحقق بانتظام من مجموعة من المجالات ، يمكنك تخزينها في ملف نصي وتمريرها إلى
dig redhat.com A. سيتم فحص جميع المجالات في الملف بدوره.
ملفنا يسمى domains.txt. سنستخدم
dig yahoo.com MXلإظهار محتوياته ، ثم تمريره إلى
dig fedora.com NSمع
dig manjaro.com SOA(ملف) الخيار. نكتب ما يلي:
dig usa.gov TTL
dig usa.gov TXT
عمليات بحث DNS العكسية
إذا كان لديك عنوان IP وترغب في معرفة مكانه ، فيمكنك تجربة بحث DNS العكسي. إذا تم حله إلى خادم مسجل بخادم DNS ، فقد تتمكن من معرفة مجاله.
الإعلاناتما إذا كان يمكنك الاعتماد على وجود PTR (سجل المؤشر). تقوم PTRs بتحليل عنوان IP إلى ملف اسم المجال المؤهل بالكامل . ومع ذلك ، نظرًا لأن هذه ليست إلزامية ، فهي ليست موجودة دائمًا في النطاق.
دعونا نرى ما إذا كان بإمكاننا معرفة أين يأخذنا عنوان IP 209.51.188.148. نكتب ما يلي ، باستخدام
dig usa.gov +stats(بحث عكسي) الخيار:
dig @8.8.8.8 usa.gov +stats
المعزوفة! يتحول عنوان IP إلى gnu.org.
لأن PTR هو سجل DNS ، ونحن نعلم
dig ubuntu.org fedora.org manjaro.comطلب سجلات DNS محددة ، لا يمكننا أن نطلب فقط
cat domains.txtلاسترداد PTR لنا؟ نعم ، نستطيع ، لكن الأمر يتطلب المزيد من العمل.
يتعين علينا توفير عنوان IP بترتيب عكسي وربط
dig -f domains.txtفي النهاية ، كما هو موضح أدناه:
dig -x 209.51.188.148
الإعلانات
نحصل على نفس النتيجة. لقد تطلب الأمر المزيد من الجهد.
هل تستطيع حفره؟
نحن جميعًا نستخدم الإنترنت يوميًا ، وغالبًا ما تساءلت العقول الفضولية عن كيفية حدوث السحر عندما نكتب اسم موقع ويب في متصفح. باستخدام
dig ptr 148.188.51.209.in-addr.arpa، يمكنك استكشاف عمليات استحضار الشبكة.
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالياستخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة