dig و nslookup چیستند؟

dig مخفف Domain Information Gopher : ابزاری است که برای پرس‌وجو Query از سرورهای DNS سیستم نام دامنه استفاده می‌شود. این ابزار اطلاعات دقیقی درباره دامنه‌ها، مثل آدرس IP، سرورهای ایمیل، یا تنظیمات دیگر DNS ارائه می‌دهد. ادمین‌های شبکه عاشق این ابزار هستند چون خروجی‌های مفصل و قابلیت‌های پیشرفته‌ای دارد.

nslookup: ابزار ساده‌تری برای بررسی اطلاعات دامنه یا آدرس IP است. خروجی‌های آن کوتاه‌تر و ساده‌تر از dig است و برای بررسی‌های سریع مناسب است.

مثال ساده: فرض کنید می‌خواهید بدانید وقتی آدرس سایت ask.com را در مرورگر وارد می‌کنید، به کدام سرور وصل می‌شوید. با dig یا nslookup می‌توانید آدرس IP این سایت را پیدا کنید.

Install Bind-Utils in CentOS

نصب dig و nslookup در لینوکس

در بسیاری از سیستم‌های لینوکس جدید، این ابزارها از قبل نصب هستند. اما اگر نبودند، باید بسته‌هایی مثل bind-utils یا dnsutils را نصب کنید. دستور نصب برای توزیع‌های مختلف لینوکس متفاوت است:

  1. دبیان، اوبونتو، مینت:
sudo apt install dnsutils

توضیح: این دستور بسته dnsutils را نصب می‌کند که شامل dig و nslookup است.

  1. رد هت، سنت‌اواس، فدورا، راکی/آلمالینوکس:
sudo dnf install bind-utils

توضیح: بسته bind-utils شامل این ابزارهاست.

  1. جنتو:
sudo emerge -a sys-apps/dnsutils
  1. آلپاین لینوکس:
sudo apk add bind-tools
  1. آرچ لینوکس:
sudo pacman -Sy dnsutils
  1. اوپن‌سوزه:
sudo zypper install bind-utils
  1. فری‌بی‌اس‌دی:
sudo pkg install dnsutils

نکته: اگر نمی‌دانید کدام توزیع لینوکس را استفاده می‌کنید، می‌توانید با دستور cat /etc/os-release اطلاعات سیستم خود را ببینید.

مثال واقعی: فرض کنید روی اوبونتو هستید و دستور dig را وارد کردید، اما خطای “command not found” گرفتید. در این حالت، کافی است دستور sudo apt install dnsutils را اجرا کنید تا ابزار نصب شود.

نحوه استفاده از دستور dig با مثال

دستور dig برای گرفتن اطلاعات DNS از دامنه‌ها استفاده می‌شود. در ادامه، کاربردهای مختلف آن را توضیح می‌دهم:

1. پرس‌وجوی ساده یک دامنه

dig ask.com

Query Domain DNS

توضیح: این دستور تمام اطلاعات DNS مربوط به دامنه ask.com را نشان می‌دهد، مثل:

  • وضعیت پرس‌وجو موفق یا ناموفق
  • آدرس‌های IP مربوط به دامنه
  • سرور DNS که پاسخ داده
  • زمان پاسخ‌گویی

خروجی نمونه:

;; ANSWER SECTION:

ask.com. 300 IN A 139.162.233.94

توضیح خروجی: این خروجی می‌گوید دامنه ask.com به آدرس IP 139.162.233.94 اشاره دارد.

2. گرفتن فقط آدرس IP خروجی کوتاه

dig ask.com +short

توضیح: اگر فقط آدرس IP را بخواهید و اطلاعات اضافی لازم ندارید، از +short استفاده کنید. خروجی نمونه:

139.162.233.94

3. گرفتن آدرس IPv6 رکورد AAAA

dig AAAA ask.com +short

توضیح: این دستور آدرس IPv6 اگر وجود داشته باشد را برمی‌گرداند. خروجی نمونه:

2a01:7e00::f03c:91ff:fe73:6b7a

4. بررسی سرورهای ایمیل رکورد MX

dig ask.com MX +short

توضیح: این دستور سرورهای ایمیل Mail Exchange مربوط به دامنه را نشان می‌دهد. خروجی نمونه:

10 mx1.example.com.
20 mx2.example.com.

توضیح خروجی: عدد 10 و 20 نشان‌دهنده اولویت سرورها هستند عدد کمتر = اولویت بالاتر.

5. بررسی سرورهای نام رکورد NS

dig ask.com NS +short

توضیح: این دستور سرورهای DNS مسئول دامنه را نشان می‌دهد. خروجی نمونه:

ns1.example.com.
ns2.example.com.

6. گرفتن اطلاعات SOA Start of Authority

dig ask.com SOA +short

توضیح: رکورد SOA اطلاعات مهمی مثل سرور DNS اصلی و تنظیمات منطقه Zone را نشان می‌دهد. خروجی نمونه:

ns1.example.com. admin.example.com. 2023081501 3600 7200 1209600 86400

7. گرفتن رکوردهای TXT

dig ask.com TXT +short

توضیح: رکوردهای TXT برای اطلاعاتی مثل SPF محافظت از ایمیل، DKIM امضای ایمیل یا تأیید مالکیت دامنه استفاده می‌شوند. خروجی نمونه:

“v=spf1 include:_spf.google.com ~all”

8. پرس‌وجوی معکوس Reverse Lookup

dig -x 104.27.179.254 +short

توضیح: این دستور دامنه‌ای که به یک آدرس IP خاص اشاره دارد را پیدا می‌کند. خروجی نمونه:

ask.com.

9. ردیابی مسیر DNS

dig ask.com +trace

توضیح: این دستور کل مسیر پرس‌وجوی DNS را از سرورهای ریشه تا سرور نهایی نشان می‌دهد. خروجی نمونه: خروجی طولانی است و شامل اطلاعات سرورهای ریشه، سرورهای TLD مثل .com و سرورهای نهایی است.

نحوه استفاده از دستور nslookup با مثال

nslookup ابزار ساده‌تری است که برای پرس‌وجوهای DNS استفاده می‌شود. در ادامه کاربردهای آن را توضیح می‌دهم:

1. پرس‌وجوی ساده یک دامنه

nslookup ask.com

توضیح: این دستور اطلاعات DNS دامنه مثل آدرس IP و سرور DNS را نشان می‌دهد. خروجی نمونه:

Server: 8.8.8.8
Address: 8.8.8.8#53
Name: ask.com
Address: 139.162.233.94

2. پرس‌وجو با سرور DNS خاص

nslookup ask.com 1.1.1.1

توضیح: این دستور از سرور DNS کلودفلر 1.1.1.1 برای پرس‌وجو استفاده می‌کند. خروجی نمونه: مشابه بالا، اما سرور پاسخ‌دهنده 1.1.1.1 خواهد بود.

3. پرس‌وجوی معکوس Reverse Lookup

nslookup 104.27.179.254

توضیح: این دستور دامنه مرتبط با آدرس IP را پیدا می‌کند. خروجی نمونه:

Name: ask.com
Address: 104.27.179.254

4. بررسی سرورهای ایمیل رکورد MX

nslookup -query=mx ask.com

توضیح: این دستور سرورهای ایمیل دامنه را نشان می‌دهد. خروجی نمونه:

ask.com mail exchanger = 10 mx1.example.com.

5. بررسی رکوردهای TXT

nslookup -query=txt ask.com

توضیح: این دستور رکوردهای TXT مثل SPF یا DKIM را نشان می‌دهد. خروجی نمونه:

ask.com = “v=spf1 include:_spf.google.com ~all”

تمام حالت‌های ممکن برای دستورات

دستورات dig:

  1. پرس‌وجوی ساده: dig <دامنه>
  2. خروجی کوتاه: dig <دامنه> +short
  3. مشخص کردن نوع رکورد:
    • dig <دامنه> A برای آدرس IPv4
    • dig <دامنه> AAAA برای آدرس IPv6
    • dig <دامنه> MX برای سرورهای ایمیل
    • dig <دامنه> NS برای سرورهای نام
    • dig <دامنه> SOA برای اطلاعات SOA
    • dig <دامنه> TXT برای رکوردهای متنی
  4. پرس‌وجوی معکوس: dig -x <آدرس_IP>
  5. ردیابی مسیر DNS: dig <دامنه> +trace
  6. استفاده از سرور DNS خاص: dig @<آدرس_سرور> <دامنه> مثال: dig @1.1.1.1 ask.com
  7. مشخص کردن پورت یا پروتکل: dig -p <پورت> <دامنه> مثال: dig -p 53 ask.com
  8. فعال کردن حالت دیباگ: dig <دامنه> +debug

دستورات nslookup:

  1. پرس‌وجوی ساده: nslookup <دامنه>
  2. پرس‌وجوی معکوس: nslookup <آدرس_IP>
  3. مشخص کردن نوع رکورد:
    • nslookup -query=A <دامنه> برای IPv4
    • nslookup -query=AAAA <دامنه> برای IPv6
    • nslookup -query=MX <دامنه> برای سرورهای ایمیل
    • nslookup -query=NS <دامنه> برای سرورهای نام
    • nslookup -query=SOA <دامنه> برای اطلاعات SOA
    • nslookup -query=TXT <دامنه> برای رکوردهای متنی
  4. استفاده از سرور DNS خاص: nslookup <دامنه> <آدرس_سرور> مثال: nslookup ask.com 1.1.1.1
  5. حالت تعاملی:
nslookup
> server 1.1.1.1
> ask.com
> exit

توضیح: با این روش وارد حالت تعاملی می‌شوید و می‌توانید چندین پرس‌وجو را پشت سر هم انجام دهید.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany