جدول المحتويات
استخدام أمر host في نظام لينكس لاستخراج تفاصيل DNS
البحث عن معلومات متنوعة باستخدام أمر host
أمر host في أنظمة لينكس يمكنه البحث عن مجموعة متنوعة من المعلومات المتاحة من خلال نظام أسماء النطاقات (DNS). يمكنه العثور على اسم مضيف إذا تم تزويده بعنوان IP أو العثور على عنوان IP إذا تم تزويده باسم مضيف، بالإضافة إلى العديد من التفاصيل الأخرى المثيرة للاهتمام حول الأنظمة والمجالات على الإنترنت.
أمثلة على استخدام أمر host
الاستعلام الأول أدناه يخبرنا أن النظام المرتبط بالعنوان 192.168.0.18 يسمى “dragonfly”. أما الاستعلام الثاني فيخبرنا أن 192.168.0.1 هو الموجه الافتراضي.
$ host 192.168.0.18
18.0.168.192.in-addr.arpa domain name pointer dragonfly.
$ host 192.168.0.1
1.0.168.192.in-addr.arpa domain name pointer router.
لعكس العملية، يمكنك استخدام أوامر مثل هذه:
$ host dragonfly
dragonfly has address 192.168.0.18
$ host router
router has address 192.168.0.1
تم تشغيل هذه الأوامر على شبكتي المنزلية، وهي تعرض جزءًا صغيرًا فقط من المعلومات التي يمكن أن يسترجعها أمر host.
عرض خيارات أمر host
في أي وقت تكتب فيه “host” بدون أي معطيات إضافية، ستظهر لك الخيارات المتاحة للأمر مع شرح موجز لكل منها.
Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
[-R number] [-m flag] [-p port] hostname [server]
-a is equivalent to -v -t ANY
-A is like -a but omits RRSIG, NSEC, NSEC3
-c specifies query class for non-IN data
-C compares SOA records on authoritative nameservers
-d is equivalent to -v
-l lists all hosts in a domain, using AXFR
-m set memory debugging flag (trace|record|usage)
-N changes the number of dots allowed before root lookup is done
-p specifies the port on the server to query
-r disables recursive processing
-R specifies number of retries for UDP packets
-s a SERVFAIL response should stop query
-t specifies the query type
-T enables TCP/IP mode
-U enables UDP mode
-v enables verbose output
-V print version number and exit
-w specifies to wait forever for a reply
-W specifies how long to wait for a reply
-4 use IPv4 query transport only
-6 use IPv6 query transport only
بالنسبة لكل خيار تقريبًا، تحتاج إلى تزويد معلومات إضافية — اسم مضيف، عنوان IP، اسم مجال، أو ربما بعض البيانات الإضافية لوصف ما تبحث عنه. الخيار الوحيد الذي لن يوفر ببساطة القائمة الموضحة أعلاه عندما لا يتم توفير أي معطيات هو خيار -V الذي يعرض معلومات الإصدار للأمر نفسه.
$ host -V
host 9.16.24-RH
استرجاع معلومات مفيدة باستخدام أمر host
عناوين IP
يمكن استرجاع بعض التفاصيل المهمة لمجال معين باستخدام اسم المجال فقط:
$ host example.com
example.com has address 93.184.216.34
example.com mail is handled by 0 mx.example.com.
يمكننا أن نرى أن هذا المجال يستخدم خوادم متعددة كما هو شائع بين العديد من المواقع التجارية.
تقرير تفصيلي
إذا أضفت الخيار -v (التفصيلي)، سترى الكثير من التفاصيل الإضافية. بالنسبة لـ example.com، سنرى العديد من الأسطر من المخرجات إذا لم يحد الأمر head هذه إلى العشرة أسطر الأولى.
$ host -v example.com | head -10
Trying "example.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50683
يمكنك دائمًا تمرير مخرجات أمر host إلى grep لتصفيتها حسب ما ترغب في رؤيته.
تبادل البريد (MX)
للتركيز على سجلات تبادل البريد (MX)، يمكنك استخدام أمر مثل هذا:
$ host -t mx example.com
example.com mail is handled by 0 mx.example.com.
سجلات SOA
للتركيز على سجلات بدء السلطة (SOA)، يمكنك استخدام أمر مثل هذا:
$ host -t SOA example.com
example.com has SOA record ns1.example.com. admin.example.com. 2023010101 3600 600 1209600 86400
سجلات CNAME
لرؤية سجلات الاسم الكنسي (CNAME)، يمكنك استخدام أمر مثل هذا الذي يخبرك أن mail.example.com هو اسم مستعار لخادم البريد الخاص بـ Google:
$ host -t cname mail.example.com
mail.example.com is an alias for googlemail.l.google.com.
خادم الاسم
في الأمر أدناه، نحن نبحث فقط عن خوادم الأسماء باستخدام نوع ns مع أمر host:
$ host -t ns example.com
example.com name server ns1.example.com.
example.com name server ns2.example.com.
الخاتمة
أمر host يحتوي على العديد من الخيارات التي قد تستغرق بعض الوقت لتعتاد عليها وتحدد الأكثر فائدة لك. يمكن أن تكون مفيدة جدًا اعتمادًا على ما تبحث عنه من بنك المعرفة الواسع لنظام أسماء النطاقات.