خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش استفاده از دستور dig در لینوکس

آموزش استفاده از دستور dig در لینوکس
Dig یا Domain Information Groper یک ابزار خط فرمان قدرتمند برای کوئری فرستادن به DNS name server ها است.

نرم افزار سامانه مودیان راهکار
دستور dig به شما امکان می دهد اطلاعات مربوط به رکوردهای مختلف DNS از جمله آدرس هاست، mail exchange ها و name server ها را جستجو کنید.


پس در این مقاله به شما دوستان نحوه استفاده از دستور dig را همراه با مثال های مختلف در لینوکس نشان خواهیم داد.


پیش از هر چیزی بررسی کنید که ابزار dig در سیستم لینوکس شما وجود دارد یا خیر. برای این بررسی کافیست دستور زیر را اجرا کنید:

dig -v

خروجی چیزی شبیه به خروجی زیر خواهد بود:

DiG 9.11.3-1ubuntu1.1-Ubuntu

اگر dig روی سیستم شما وجود نداشته باشد، دستور بالا، پیام "dig: command found not found" را نمایش می دهد. ابزار dig را می توان با استفاده از package manager توزیع کننده نصب کرد.

Install dig on Ubuntu and Debian

برای نصب dig در اوبونتو یا دبیان دستور زیر را اجرا کنید:

sudo apt update && sudo apt install dnsutils

Install dig on CentOS and Fedora

برای نصب dig در CentOS یا Fedora دستور زیر را اجرا کنید:

sudo yum install bind-utils

Install dig on Arch Linux

برای نصب dig در Arch Linux دستور زیر را اجرا کنید:

sudo pacman -S bind-tools

در ساده ترین شکل، وقتی از دستور dig برای کوئری از دامنه استفاده می شود و هیچ گزینه ای هم در دستور استفاده نشود، اطلاعات کاملی را درخروجی نشان می دهد:

dig linux.org

آموزش استفاده از دستور dig در لینوکس
خب، خروجی دستور را بخش به بخش توضیح می دهیم.
بخش اول، ورژن dig نصب شده و نام دامنه مورد نظر را نشان می دهد. خط دوم هم گزینه های global را نشان می دهد (به طور پیش فرض فقط cmd). اگر نمی‌خواهید این خطوط در خروجی نشان داده شود، از گزینه nocmd+ استفاده کنید. این گزینه باید اولین گزینه بعد از دستور dig باشد.
بخش بعدی شامل جزئیات فنی در مورد پاسخ دریافت شده از DNS Server است. header کد opcode (عملی که توسط dig انجام می شود) و وضعیت عمل را نشان می دهد. در این مثال، وضعیت NOERROR است، به این معنی که DNS درخواست را بدون مشکل ارائه کرده است.
این بخش را می توان با استفاده از گزینه nocomments+ حذف کرد که هدرهای بخش دیگر را نیز غیرفعال می کند.
بخش OPT PSEUDOSECTION فقط در نسخه های جدیدتر dig نشان داده می شود. برای حذف این بخش از خروجی، از گزینه noedns+ استفاده کنید.
در بخش QUESTION، دستور dig کوئری را نشان می دهد. به طور پیش فرض، dig، رکورد A را درخواست می کند. این بخش را هم با دستور noquestion+ می توانید غیرفعال کنید.
بخش ANSWER پاسخی به سوال(کوئری) ما ارائه می دهد. همانطور که قبلاً اشاره کردیم، به طور پیش فرض dig رکورد A را درخواست می کند. در اینجا، می بینیم که دامنه linux.org به آدرس 104.21.58.169 اشاره می کند. اگر این بخش را هم نمی خواهید، از گزینه noanswer+ استفاده کنید.
آخرین بخش از خروجی dig شامل اطلاعات آماری مربوط به کوئری است.
به طور کلی، شما فقط می خواهید فقط یک پاسخ کوتاه به درخواست سرچ خود دریافت کنید. برای اینکه در خروجی پاسخ کوتاهی دریافت کنید، از short+ در دستور استفاده کنید.

dig linux.org +short

خروجی فقط شامل IP Address های A Record خواهد بود. برای پاسخ دقیق تر، تمام نتایج را با استفاده از گزینه های noall+ خاموش کنید و سپس تنها بخش پاسخ را با گزینه answer+ روشن کنید.

dig linux.org +noall +answer

به طور پیش فرض، اگر هیچ name server ای مشخص نشده باشد، dig از سرورهای لیست شده در فایل etc/resolv.conf استفاده می کند. برای تعیین name server ای که کوئری از آن انجام شود، از علامت @ و سپس آی پی name server یا hostname اش استفاده کنید.
به عنوان مثال، برای کوئری فرستادن به cache dns server گوگل، آدرس 8.8.8.8 را مشخص و سپس نام هاست مورد نظرمان را وارد می کنیم. یعنی کوئری ما که نام سرور مورد نظرمان است، از dns گوگل که 8.8.8.8 است پرسیده می شود.

dig linux.org @8.8.8.8

Dig به شما این امکان را می دهد که با افزودن نوع رکورد به انتهای کوئری، هر درخواست DNS معتبر یا valid ای را انجام دهید. در بخش بعدی، نمونه هایی از نحوه جستجوی رایج ترین رکوردها، مانند A یا IP address، CNAME یا canonical name، TXT یا text record، MX یا mail exchanger و NS یا name server را به شما نشان خواهیم داد. برای دریافت لیستی از تمام آدرس(های) یک نام دامنه، از گزینه a استفاده کنید:

dig +nocmd khoshamoz.ir a +noall +answer

khoshamoz.ir.		1225	IN	A	188.165.233.201

همانطور که مشاهده می کنید، اگر نوع DNS record مشخص نشده باشد، dig رکورد A را درخواست می کند. همچنین می توانید رکورد A را بدون تعیین گزینه a کوئری یا سوال کنید.
برای یافتن نام مستعار دامنه از گزینه cname استفاده کنید:

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

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

از گزینه 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"

برای دریافت لیستی از تمام میل سرورهای برای یک دامین خاص از گزینه 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.

برای یافتن name server ها برای یک دامین خاص از گزینه 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.

از گزینه 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

برای کوئری نام هاست مرتبط با یک IP خاص از گزینه x- استفاده کنید. به عنوان مثال، برای انجام یک جستجوی معکوس یا reverse lookup برای آی پی 208.118.235.148 دستور زیر را باید تایپ کنید:

dig -x 208.118.235.148 +noall +answer

اگر می خواهید تعداد زیادی دامنه را سرچ کنید، می توانید آنها را در یک فایل (یک دامین در هر خط) اضافه کنید و از گزینه f- و به دنبال آن نام فایل استفاده کنید. در مثال زیر، ما دامنه های لیست شده در فایل 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

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز