ذكري المظهر

أمر الحفر في نظام لينكس (بحث عن نظام أسماء النطاقات)

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

Contain Yourself: An Intro to Docker and Containers by Nicola Kabar and Mano Marks

جدول المحتويات:

Anonim

يعد Dig (مجال معلومات Groper) أداة سطر أوامر قوية للاستعلام عن خوادم أسماء DNS.

باستخدام الأمر dig ، يمكنك الاستعلام عن معلومات حول سجلات DNS المختلفة ، بما في ذلك عناوين المضيف وتبادل البريد وخوادم الأسماء. إنها الأداة الأكثر استخدامًا بين مسؤولي النظام لاستكشاف مشكلات DNS وإصلاحها بسبب مرونتها وسهولة استخدامها.

في هذا البرنامج التعليمي ، سوف نعرض لك كيفية استخدام أداة dig خلال أمثلة عملية وشروحات مفصلة لخيارات dig الأكثر شيوعًا.

تثبيت dig

للتحقق مما إذا كان الأمر dig متاحًا على نوع النظام لديك:

dig -v

يجب أن يبدو الإخراج بشيء من هذا القبيل:

DiG 9.11.3-1ubuntu1.1-Ubuntu

إذا لم يكن dig موجودًا على نظامك ، فسيطبع الأمر أعلاه "dig: command not found". يمكنك بسهولة تثبيت أداة dig باستخدام مدير الحزم في distro.

تثبيت dig على أوبونتو وديبيان

sudo apt update && sudo apt install dnsutils

تثبيت dig على CentOS وفيدورا

sudo yum install bind-utils

تثبيت dig على Arch Linux

sudo pacman -S bind-tools

فهم حفر الناتج

في أبسط أشكاله ، عند استخدامه للاستعلام عن مضيف واحد (مجال) دون أي وسيطات إضافية ، يكون أمر الحفر مطوّلًا إلى حد ما.

في المثال التالي ، سنقوم بإجراء استعلام لاسترداد معلومات حول نطاق linux.org .

dig linux.org

يجب أن يبدو الإخراج بشيء من هذا القبيل:

دعنا نذهب كل قسم على حدة وشرح مخرجات أمر dig :

  1. يقوم السطر الأول من الإخراج بطباعة نسخة الحفر المثبتة والاستعلام الذي تم استدعاءه. يعرض السطر الثاني الخيارات العامة (بشكل افتراضي ، كمد فقط).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    يتضمن القسم الأول التفاصيل الفنية حول الإجابة التي وردت من السلطة المطلوبة (خادم DNS). يُظهر الرأس شفرة التشغيل (الإجراء الذي تم تنفيذه بحفر) وحالة الإجراء. في هذا المثال ، الحالة هي NOERROR ، مما يعني أن السلطة المطلوبة قدمت الاستعلام دون أي مشكلة.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    يمكن إزالة هذا القسم باستخدام خيار +nocomments ، والذي يؤدي أيضًا إلى تعطيل رؤوس بعض الأقسام الأخرى.

    يظهر القسم الزائف "OPT" افتراضيًا فقط في الإصدارات الأحدث من أداة الحفر. يمكنك معرفة آليات تمديد DNS (EDNS) هنا.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    في قسم "السؤال" ، يُظهر dig سؤالنا (سؤال). افتراضيًا ، يطلب dig سجل A.

    ;; QUESTION SECTION:;linux.org. IN A

    يمكنك تعطيل هذا القسم باستخدام خيار +noquestion .

    يوفر لنا قسم "الإجابة" إجابة عن سؤالك. كما ذكرنا بالفعل ، بشكل افتراضي سوف يطلب dig السجل أ. هنا ، يشير المجال linux.org إلى عنوان IP 104.18.59.123 .

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    عادة ، لا ترغب في إيقاف تشغيل الإجابة ، ولكن يمكنك إزالة هذا القسم من الإخراج باستخدام خيار +noanswer .

    يخبرنا قسم "AUTHORITY" عن الخادم (الخوادم) الذي يمثل سلطة الرد على استفسارات DNS حول المجال الذي تم الاستعلام عنه.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    يمكنك تعطيل هذا القسم من الإخراج باستخدام خيار +noauthority .

    يقدم لنا القسم "الإضافي" معلومات حول عناوين IP لخوادم DNS الموثوقة الموضحة في قسم التفويض.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    الخيار +noadditional يعطل القسم الإضافي من الرد.

    يتضمن القسم الأخير من إخراج الحفر إحصائيات حول الاستعلام.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    يمكنك تعطيل هذا الجزء باستخدام خيار +nostats .

طباعة فقط الجواب

في معظم الحالات ، قد ترغب في الحصول على إجابة سريعة فقط لاستعلام الحفر.

1. الحصول على إجابة قصيرة

للحصول على إجابة قصيرة على استفسارك ، استخدم خيار +short :

dig linux.org +short

104.18.59.123 104.18.58.123

سيتضمن الإخراج عناوين IP للسجل A فقط.

2. الحصول على إجابة مفصلة

لمزيد من الإجابة التفصيلية ، قم بإيقاف تشغيل جميع النتائج باستخدام خيارات +noall ثم قم بتشغيل قسم الإجابات فقط باستخدام خيار +answer .

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

استعلام اسم خادم محدد

بشكل افتراضي ، إذا لم يتم تحديد خادم اسم ، فإن dig يستخدم الخوادم المدرجة في ملف /etc/resolv.conf .

لتحديد خادم اسم سيتم تطبيق الاستعلام مقابله ، استخدم الرمز @ (at) متبوعًا بعنوان IP لخادم الاسم أو اسم المضيف.

على سبيل المثال ، للاستعلام عن خادم اسم Google (8.8.8.8) للحصول على معلومات حول نطاق linux.org الذي تستخدمه:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

الاستعلام عن نوع السجل

يتيح لك Dig إجراء أي استعلام DNS صالح عن طريق إلحاق نوع السجل بنهاية الاستعلام. في القسم التالي ، سنعرض لك أمثلة حول كيفية البحث عن أكثر السجلات شيوعًا ، مثل A (عنوان IP) و CNAME (الاسم المتعارف عليه) و TXT (السجل النصي) و MX (مبادل البريد) و NS (خوادم الاسم).

1. الاستعلام عن السجلات

للحصول على قائمة بجميع العناوين (العناوين) لاسم المجال ، استخدم الخيار:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

كما تعلمون بالفعل ، إذا لم يتم تحديد نوع سجل DNS ، فسوف يطلب حفر السجل A. يمكنك أيضًا الاستعلام عن السجل A دون تحديد الخيار.

2. الاستعلام عن سجلات CNAME

للعثور على اسم النطاق المستعار ، استخدم خيار cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. الاستعلام عن سجلات TXT

استخدم خيار txt لاسترداد جميع سجلات TXT لمجال معين:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. الاستعلام عن سجلات MX

للحصول على قائمة بجميع خوادم البريد لمجال معين ، استخدم خيار mx :

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. الاستعلام عن سجلات NS

للعثور على خوادم الأسماء الموثوقة لنطاقنا المحدد ، استخدم خيار ns :

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. الاستعلام عن جميع السجلات

استخدم any خيار للحصول على قائمة بجميع سجلات DNS لمجال معين:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

بحث عكس DNS

للاستعلام عن اسم المضيف المرتبط بعنوان IP محدد ، استخدم الخيار -x .

على سبيل المثال ، لإجراء بحث عكسي على 208.118.235.148 يمكنك استخدام:

dig -x 208.118.235.148 +noall +answer

كما ترون من الإخراج أدناه ، يرتبط عنوان IP 208.118.235.148 باسم المضيف wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

استفسارات بالجملة

في المثال التالي ، نحن نستفسر عن المجالات المدرجة في ملف domains.txt .

domains.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

ملف.digrc

يمكن التحكم في سلوك أمر الحفر عن طريق إعداد خيارات لكل مستخدم في ملف ${HOME}/.digrc .

في حالة .digrc ملف .digrc في الدليل الرئيسي للمستخدم ، يتم تطبيق الخيارات المحددة فيه قبل وسيطات سطر الأوامر.

على سبيل المثال ، إذا كنت ترغب في عرض قسم الإجابات فقط ، فافتح محرر النصوص وقم بإنشاء ملف ~/.digrc التالي:

~ /.digrc

+nocmd +noall +answer

استنتاج

dig هي أداة سطر أوامر للاستعلام عن معلومات DNS واستكشاف المشكلات المتعلقة بـ DNS.

حفر المحطة