dig و nslookup چیستند؟
dig مخفف Domain Information Gopher : ابزاری است که برای پرسوجو Query از سرورهای DNS سیستم نام دامنه استفاده میشود. این ابزار اطلاعات دقیقی درباره دامنهها، مثل آدرس IP، سرورهای ایمیل، یا تنظیمات دیگر DNS ارائه میدهد. ادمینهای شبکه عاشق این ابزار هستند چون خروجیهای مفصل و قابلیتهای پیشرفتهای دارد.
nslookup: ابزار سادهتری برای بررسی اطلاعات دامنه یا آدرس IP است. خروجیهای آن کوتاهتر و سادهتر از dig است و برای بررسیهای سریع مناسب است.
مثال ساده: فرض کنید میخواهید بدانید وقتی آدرس سایت ask.com را در مرورگر وارد میکنید، به کدام سرور وصل میشوید. با dig یا nslookup میتوانید آدرس IP این سایت را پیدا کنید.
نصب dig و nslookup در لینوکس
در بسیاری از سیستمهای لینوکس جدید، این ابزارها از قبل نصب هستند. اما اگر نبودند، باید بستههایی مثل bind-utils یا dnsutils را نصب کنید. دستور نصب برای توزیعهای مختلف لینوکس متفاوت است:
- دبیان، اوبونتو، مینت:
توضیح: این دستور بسته dnsutils را نصب میکند که شامل dig و nslookup است.
- رد هت، سنتاواس، فدورا، راکی/آلمالینوکس:
توضیح: بسته bind-utils شامل این ابزارهاست.
- جنتو:
- آلپاین لینوکس:
- آرچ لینوکس:
- اوپنسوزه:
- فریبیاسدی:
نکته: اگر نمیدانید کدام توزیع لینوکس را استفاده میکنید، میتوانید با دستور cat /etc/os-release اطلاعات سیستم خود را ببینید.
مثال واقعی: فرض کنید روی اوبونتو هستید و دستور dig را وارد کردید، اما خطای “command not found” گرفتید. در این حالت، کافی است دستور sudo apt install dnsutils را اجرا کنید تا ابزار نصب شود.
نحوه استفاده از دستور dig با مثال
دستور dig برای گرفتن اطلاعات DNS از دامنهها استفاده میشود. در ادامه، کاربردهای مختلف آن را توضیح میدهم:
1. پرسوجوی ساده یک دامنه
توضیح: این دستور تمام اطلاعات DNS مربوط به دامنه ask.com را نشان میدهد، مثل:
- وضعیت پرسوجو موفق یا ناموفق
- آدرسهای IP مربوط به دامنه
- سرور DNS که پاسخ داده
- زمان پاسخگویی
خروجی نمونه:
;; ANSWER SECTION:
توضیح خروجی: این خروجی میگوید دامنه ask.com به آدرس IP 139.162.233.94 اشاره دارد.
2. گرفتن فقط آدرس IP خروجی کوتاه
توضیح: اگر فقط آدرس IP را بخواهید و اطلاعات اضافی لازم ندارید، از +short استفاده کنید. خروجی نمونه:
3. گرفتن آدرس IPv6 رکورد AAAA
توضیح: این دستور آدرس IPv6 اگر وجود داشته باشد را برمیگرداند. خروجی نمونه:
4. بررسی سرورهای ایمیل رکورد MX
توضیح: این دستور سرورهای ایمیل Mail Exchange مربوط به دامنه را نشان میدهد. خروجی نمونه:
توضیح خروجی: عدد 10 و 20 نشاندهنده اولویت سرورها هستند عدد کمتر = اولویت بالاتر.
5. بررسی سرورهای نام رکورد NS
توضیح: این دستور سرورهای DNS مسئول دامنه را نشان میدهد. خروجی نمونه:
6. گرفتن اطلاعات SOA Start of Authority
توضیح: رکورد SOA اطلاعات مهمی مثل سرور DNS اصلی و تنظیمات منطقه Zone را نشان میدهد. خروجی نمونه:
7. گرفتن رکوردهای TXT
توضیح: رکوردهای TXT برای اطلاعاتی مثل SPF محافظت از ایمیل، DKIM امضای ایمیل یا تأیید مالکیت دامنه استفاده میشوند. خروجی نمونه:
8. پرسوجوی معکوس Reverse Lookup
توضیح: این دستور دامنهای که به یک آدرس IP خاص اشاره دارد را پیدا میکند. خروجی نمونه:
9. ردیابی مسیر DNS
توضیح: این دستور کل مسیر پرسوجوی DNS را از سرورهای ریشه تا سرور نهایی نشان میدهد. خروجی نمونه: خروجی طولانی است و شامل اطلاعات سرورهای ریشه، سرورهای TLD مثل .com و سرورهای نهایی است.
نحوه استفاده از دستور nslookup با مثال
nslookup ابزار سادهتری است که برای پرسوجوهای DNS استفاده میشود. در ادامه کاربردهای آن را توضیح میدهم:
1. پرسوجوی ساده یک دامنه
توضیح: این دستور اطلاعات DNS دامنه مثل آدرس IP و سرور DNS را نشان میدهد. خروجی نمونه:
2. پرسوجو با سرور DNS خاص
توضیح: این دستور از سرور DNS کلودفلر 1.1.1.1 برای پرسوجو استفاده میکند. خروجی نمونه: مشابه بالا، اما سرور پاسخدهنده 1.1.1.1 خواهد بود.
3. پرسوجوی معکوس Reverse Lookup
توضیح: این دستور دامنه مرتبط با آدرس IP را پیدا میکند. خروجی نمونه:
4. بررسی سرورهای ایمیل رکورد MX
توضیح: این دستور سرورهای ایمیل دامنه را نشان میدهد. خروجی نمونه:
5. بررسی رکوردهای TXT
توضیح: این دستور رکوردهای TXT مثل SPF یا DKIM را نشان میدهد. خروجی نمونه:
تمام حالتهای ممکن برای دستورات
دستورات dig:
- پرسوجوی ساده: dig <دامنه>
- خروجی کوتاه: dig <دامنه> +short
- مشخص کردن نوع رکورد:
- dig <دامنه> A برای آدرس IPv4
- dig <دامنه> AAAA برای آدرس IPv6
- dig <دامنه> MX برای سرورهای ایمیل
- dig <دامنه> NS برای سرورهای نام
- dig <دامنه> SOA برای اطلاعات SOA
- dig <دامنه> TXT برای رکوردهای متنی
- پرسوجوی معکوس: dig -x <آدرس_IP>
- ردیابی مسیر DNS: dig <دامنه> +trace
- استفاده از سرور DNS خاص: dig @<آدرس_سرور> <دامنه> مثال: dig @1.1.1.1 ask.com
- مشخص کردن پورت یا پروتکل: dig -p <پورت> <دامنه> مثال: dig -p 53 ask.com
- فعال کردن حالت دیباگ: dig <دامنه> +debug
دستورات nslookup:
- پرسوجوی ساده: nslookup <دامنه>
- پرسوجوی معکوس: nslookup <آدرس_IP>
- مشخص کردن نوع رکورد:
- nslookup -query=A <دامنه> برای IPv4
- nslookup -query=AAAA <دامنه> برای IPv6
- nslookup -query=MX <دامنه> برای سرورهای ایمیل
- nslookup -query=NS <دامنه> برای سرورهای نام
- nslookup -query=SOA <دامنه> برای اطلاعات SOA
- nslookup -query=TXT <دامنه> برای رکوردهای متنی
- استفاده از سرور DNS خاص: nslookup <دامنه> <آدرس_سرور> مثال: nslookup ask.com 1.1.1.1
- حالت تعاملی:
توضیح: با این روش وارد حالت تعاملی میشوید و میتوانید چندین پرسوجو را پشت سر هم انجام دهید.