كيفية استخدام أمر الحفر على لينكس

نافذة طرفية منمقة على نظام Linux.

فاطماواتي أحمد زينوري / شاترستوك



لينكس 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

الآن ، إليك ما يعنيه كل ذلك:

    السطر الأول:إصدار status والمجال الذي تم الاستعلام عنه. الخيارات العالمية:كما سنرى ، يمكنك استخدام query للاستعلام عن مجالات متعددة في وقت واحد. يعرض هذا السطر الخيارات التي تم تطبيقها على كافة استعلامات المجال. في مثالنا البسيط ، كان مجرد الإعداد الافتراضي recursion desired (الأمر) الخيار. كود التشغيل: استعلام:هذا هو نوع العملية التي تم طلبها والتي ، في هذه الحالة ، كانت recursion available. يمكن أن تكون هذه القيمة أيضًا AA لاستعلام معكوس ، أو dig إذا كنت تقوم فقط باختبار حالة نظام DNS. الحالة: لا خطأ:لم تكن هناك أخطاء وتم حل الطلب بشكل صحيح. الرقم: 12017: يربط هذا المعرف العشوائي الطلب والاستجابة معًا. الأعلام: qr rd ra:هذه ترمز إلى dig و +noall و +noall. التكرار هو أحد أشكال بحث DNS (الآخر تكراري). قد ترى أيضًا +noall ، والتي تعني 'إجابة موثوقة' ، مما يعني أن خادم الاسم المعتمد قد قدم الاستجابة. استعلام: 1:كان عدد الاستفسارات في هذه الجلسة واحدًا. الجواب: 4:عدد الإجابات في هذه الإجابة ، وهو أربعة. السلطة: 0:عدد الإجابات التي جاءت من خادم الأسماء الموثوقة ، والتي كانت صفرًا في هذه الحالة. تم إرجاع الاستجابة من ذاكرة التخزين المؤقت لخادم طليعة DNS. لن يكون هناك قسم موثوق في الرد. إضافية: 1:هناك قطعة واحدة من المعلومات الإضافية. (الغريب ، لا شيء مذكور إلا إذا كانت هذه القيمة اثنين أو أعلى.)

الاختيار الكاذب

بعد ذلك ، نرى ما يلي في Opt Pseudosection:

+stats

دعنا نقسم ذلك:

    EDNS: الإصدار 0:إصدار نظام التمديد لـ DNS التي يتم استخدامها. ينقل EDNS البيانات الموسعة والأعلام من خلال توسيع حجم ملف بروتوكول مخطط المستخدم (UDP). يشار إلى ذلك بعلم متغير الحجم. الأعلام:لا توجد أعلام قيد الاستخدام. udp: 4096: حجم حزمة UDP.

قسم الأسئلة

في قسم الأسئلة نرى ما يلي:

+noall +answer

إليك ما يعنيه هذا:

    howtogeek.com:اسم النطاق الذي نبحث عنه. في:نجري استعلامًا عن فئة الإنترنت. ل:ما لم نحدد خلاف ذلك ، +noall +answer سيطلب سجل (عنوان) A من خادم DNS.

قسم الإجابة

يحتوي قسم الإجابة على الإجابات الأربع التالية التي تلقيناها من خادم DNS:

dig

إليك ما تعنيه هذه الإجابات:

    3551:هذا هو وقت البقاء (TTL) ، وهو عدد صحيح موقّع 32 بت يحتوي على الفاصل الزمني الذي يمكن تخزين السجل فيه مؤقتًا. عند انتهاء صلاحيته ، يجب استخدام البيانات في الرد على الطلب حتى يتم تحديثه بواسطة خادم نظام أسماء النطاقات. في:قمنا بعمل استعلام فئة الإنترنت. ل:لقد طلبنا الحصول على سجل A من خادم DNS.

قسم الاحصاء

الإحصاء هو القسم الأخير ، ويحتوي على المعلومات التالية:

echo

هذا ما لدينا:

    وقت الاستعلام: 0 مللي ثانية:الوقت المستغرق للحصول على الرد. الخادم: 127.0.0.53 # 53 (127.0.0.53):عنوان IP ورقم المنفذ لخادم DNS الذي استجاب. في هذه الحالة ، فإنه يشير إلى محلل كعب التخزين المؤقت المحلي. يقوم هذا بإعادة توجيه طلبات DNS إلى أي خوادم DNS الأولية التي تم تكوينها. على كمبيوتر اختبار Manajro ، كان العنوان المدرج هنا هو 8.8.8.8 # 53 ، وهو خدمة DNS العامة من Google . متى: الأحد 22 آذار (مارس) 07:44:37 بتوقيت شرق الولايات المتحدة 2020:عندما تم تقديم الطلب. MSG SIZE rcvd: 106:حجم الرسالة المستلمة من خادم DNS.

كونها انتقائية

ليس عليك أن تكتفي بنقيض الشفة الضيقة والثرثرة. ال dig يسمح لك الأمر بتضمين أو استبعاد أقسام من النتائج بشكل انتقائي.

ستزيل خيارات الاستعلام التالية هذا القسم من النتائج:

    + nocomments:لا تظهر سطور التعليق. + عدم التفويض:لا تظهر قسم السلطة. + noadditional:لا تعرض القسم الإضافي. + nostats:لا تعرض قسم الإحصائيات. + لا جواب:لا تظهر قسم الإجابة. + لا:لا تظهر أي شيء!
الإعلانات

ال 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
:

    سجل:يربط المجال بعنوان IP الإصدار 4. سجل MX:تقوم سجلات تبادل البريد بتوجيه رسائل البريد الإلكتروني المرسلة إلى المجالات إلى خادم البريد الصحيح. سجل NS:تقوم سجلات خادم الأسماء بتفويض مجال (أو مجال فرعي) لمجموعة من خوادم DNS. سجل TXT:تخزن السجلات النصية المعلومات النصية المتعلقة بالمجال. عادة ، يمكن استخدامها لقمع البريد الإلكتروني المزيف أو المخادع. سجل SOA:يمكن أن تحتوي بداية التسجيلات الاستنادية على الكثير من المعلومات حول المجال. هنا ، يمكنك العثور على خادم الاسم الأساسي ، والطرف المسؤول ، والطابع الزمني للتغييرات ، وتكرار تحديث المنطقة ، وسلسلة من الحدود الزمنية لعمليات إعادة المحاولة والتخلي. TTL:وقت العيش عبارة عن إعداد لكل سجل DNS يحدد المدة التي يُسمح فيها لخادم طليعة DNS بتخزين كل استعلام DNS مؤقتًا. عند انتهاء هذا الوقت ، يجب تحديث البيانات للطلبات اللاحقة. أي:هذا يوضح
    ; <> 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
، يمكنك استكشاف عمليات استحضار الشبكة.

أوامر لينكس
الملفات قطران · الكهروضوئية · قط · تاك · chmod · سيطرة · فرق · سيد · مع · رجل · Pushd · popd · fsck · اختبار · فيما يليها · فد · باندوك · قرص مضغوط · المسار $ · awk · انضم · جي ق · يطوى · فريد · جورنال سي تي ال · ذيل · حالة · ls · fstab · رما - طرد - قذف · أقل · chgrp · تشاون · مراجعة · نظرة · سلاسل · نوع · إعادة تسمية · أزيز · بفك · تتعدد · أومونت · تثبيت · fdisk · مكفس · جمهورية مقدونيا · rmdir · رسينك · مدافع · gpg · نحن · نانو · مكدير · ال · ln · تصحيح · يتحول · rclone · أجاد · SRM
العمليات الاسم المستعار · شاشة · أعلى · لطيف · رائع · تقدم · دعامة · النظام · تمكس · chsh · التاريخ · في · حزمة · مجانا · التي · dmesg · usermod · ملاحظة · الجذور · xargs · tty · الخنصر · lsof · vmstat · نفذ الوقت · حائط · نعم · قتل · نايم · سودو · له · زمن · المجموعة · usermod · مجموعات · lshw · اغلق · اعادة التشغيل · توقف · انقطاع التيار الكهربائي · passwd · lscpu · كرونتاب · تاريخ · bg · fg
الشبكات netstat · بينغ · مسار التتبع · IP · ss · الذي هو · fail2ban · bmon · أنت · اصبع اليد · nmap · بروتوكول نقل الملفات · لفة · wget · من الذى · من أنا · في · iptables · ssh-كجن · ufw

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين

اقرأ التالي
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل عروض Apple
  • & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
  • & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
  • & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
  • & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل العروض التقنية
صورة الملف الشخصي لـ Dave McKay ديف مكاي
استخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة

مقالات مثيرة للاهتمام