دستور nslookup چیست و چگونه از آن استفاده کنیم؟

0
(0)
دستور nslookup

دستور nslookup یکی از مهم‌ترین ابزارهای خط فرمان برای بررسی و عیب‌یابی سیستم نام دامنه (DNS) است. با استفاده از این ابزار می‌توانید بفهمید یک دامنه به چه IP ای اشاره می‌کند، روی چه نیم‌سرورهایی قرار دارد، رکوردهای ایمیل آن چیست و آیا تنظیمات Reverse DNS آن صحیح است یا نه.

در این راهنمای جامع، به‌صورت عملی و دقیق یاد می‌گیرید که چگونه از nslookup برای بررسی دامنه‌ها، سرورها، ایمیل و مشکلات DNS استفاده کنید.

nslookup چیست ؟

nslookup یک ابزار خط فرمان است که برای کشف آدرس IP یا رکوردهای DNS یک نام دامنه خاص استفاده می‌شود. این ابزار همچنین امکان جستجوی معکوس DNS را فراهم می‌کند تا بتوانید دامنه‌ای که به یک IP متصل است را پیدا کنید. 

این ابزار در تمام سیستم‌عامل‌ها در دسترس است:

  • ویندوز (Command Prompt)
  • لینوکس
  • macOS

با nslookup می‌توانید:

  • IP دامنه را پیدا کنید
  • نیم‌سرورها را بررسی کنید
  • سرور ایمیل دامنه را ببینید
  • Reverse DNS را تست کنید
  • مشکلات عدم لود سایت یا ایمیل را ریشه‌یابی کنید

انواع رکوردهای DNS در nslookup

رکوردکاربرد
Aاتصال دامنه به IPv4
AAAAاتصال دامنه به IPv6
CNAMEدامنه مستعار
NSنیم‌سرورها
MXسرورهای ایمیل
TXTاطلاعات متنی (SPF, DKIM و…)
PTRReverse DNS
SOAسرور اصلی دامنه
SRVسرویس‌های شبکه (LDAP, Kerberos و…)

کاربردهای دستور nslookup 

دستور nslookup یکی از ابزارهای کلیدی برای مدیران سایت و سرور است که امکان بررسی دقیق رکوردهای DNS یک دامنه و اطمینان از صحت اتصال آن به سرور را فراهم می‌کند. با استفاده از این دستور می‌توان مشخص کرد آیا دامنه به آدرس IP درستی اشاره می‌کند یا خیر، نیم‌سرورها به‌درستی پاسخ می‌دهند یا نه و آیا کاربران از نقاط مختلف اینترنت به یک مقصد واحد هدایت می‌شوند. این قابلیت به‌ویژه زمانی اهمیت پیدا می‌کند که وب‌سایت در دسترس نیست، سرعت لود کاهش یافته یا برخی کاربران قادر به باز کردن سایت نیستند. در چنین شرایطی، nslookup به شما کمک می‌کند ریشه مشکل را در لایه DNS شناسایی کرده و از صحت عملکرد زیرساخت دامنه و سرور اطمینان حاصل کنید.

نحوه نصب و فعال‌سازی دستور nslookup

ابزار nslookup به‌صورت پیش‌فرض روی اغلب سیستم‌عامل‌ها، از جمله ویندوز و بسیاری از توزیع‌های لینوکس، نصب است. به همین دلیل معمولاً نیازی به نصب دستی آن ندارید.
با این حال اگر هنگام اجرای دستور nslookup با خطای
command not found یا nslookup is not recognized مواجه شدید، باید آن را به‌صورت دستی نصب یا فعال کنید.

نصب nslookup در Ubuntu و Debian

sudo apt-get install dnsutils

نصب nslookup در CentOS و Red Hat

sudo yum install bind-utils

نصب nslookup در Fedora

sudo dnf install bind-utils

نصب nslookup در Arch Linux

pacman -Sy dnsutils

nslookup در ویندوز

در ویندوز، nslookup به‌صورت پیش‌فرض همراه سیستم‌عامل نصب است و نیازی به دانلود یا نصب جداگانه ندارد.

برای استفاده از آن کافی است:

  1. کلیدهای Win + R را بزنید.
  2. عبارت cmd را وارد کرده و Enter بزنید.

در پنجره Command Prompt، دستور زیر را اجرا کنید:

nslookup

اگر دستور اجرا شد و نام سرور DNS و یک علامت > نمایش داده شد، یعنی nslookup روی سیستم شما فعال است.

در صورتی که در ویندوز با خطای عدم شناسایی nslookup مواجه شدید (که بسیار نادر است)، معمولاً مشکل از خراب بودن فایل‌های سیستمی یا تنظیمات PATH است و با اجرای دستور زیر در PowerShell (با دسترسی Administrator) قابل رفع است:

sfc /scannow

بعد از اطمینان از نصب و فعال بودن دستور nslookup، می‌توانید با مثال‌های عملی، بررسی رکوردهای DNS، IP دامنه و تنظیمات ایمیل را آغاز کنید.

نحوه استفاده از دستور nslookup

می‌توانید nslookup را تقریباً در هر سیستم‌عاملی اجرا کنید، مانند Command Prompt ویندوز یا Terminal در لینوکس و macOS.

nslookup دو حالت دارد: تعاملی (Interactive) و غیرتعاملی (Non-interactive).

  • حالت تعاملی به شما اجازه می‌دهد چندین درخواست مختلف ارسال کنید.
  • حالت غیرتعاملی فقط یک نتیجه درباره دامنه یا هاست می‌دهد.

برای ورود به حالت تعاملی:

nslookup

برای حالت غیرتعاملی:

nslookup domain.com

در این حالت می‌توانید دامنه و نوع رکورد یا DNS سرور را در همان خط مشخص کنید.

استفاده از دستور nslookup با مرورگرمی‌توانید سرورهای DNS را مستقیماً از مرورگر خود با استفاده از ابزارهای آنلاین شبکه مانند ping.eu یا nslookup.io بررسی کنید. 

لیست دستورات nslookup

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

  • name – نمایش اطلاعات دامنه یا هاست‌نیم با استفاده از سرور پیش‌فرض
  • server name – تنظیم DNS سرور جدید
  • root – تنظیم سرور ریشه به‌عنوان سرور پیش‌فرض
  • set type= – پرس‌وجوی نوع خاصی از رکورد مانند A، MX، PTR یا SOA
  • set debug – نمایش جزئیات فنی هر درخواست و پاسخ
  • set recurse – درخواست از DNS برای پرس‌وجو از سایر سرورها
  • help – نمایش راهنمای دستورات
  • exit – خروج از nslookup

بررسی IP دامنه (A Record)

nslookup mashhadhost.com

یا با DNS خاص:

nslookup mashhadhost.com 8.8.8.8

بررسی نیم‌سرورها (NS Record)

nslookup -q=ns mashhadhost.com

این دستور نشان می‌دهد دامنه روی کدام NameServerها تنظیم شده است.

بررسی سرور ایمیل (MX Record)

nslookup -q=MX mashhadhost.com

اگر ایمیل دامنه کار نمی‌کند، اولین چیزی که باید بررسی شود همین رکورد است.

بررسی رکوردهای TXT (SPF, DKIM, DMARC)

nslookup -q=TXT mashhadhost.com

این رکوردها برای جلوگیری از اسپم شدن ایمیل بسیار حیاتی هستند.

Reverse DNS و رکورد PTR

برای بررسی اینکه IP به چه دامنه‌ای اشاره می‌کند:

nslookup 185.165.xxx.xxx

یا:

nslookup -q=ptr xxx.xxx.xxx.xxx.in-addr.arpa

Reverse DNS برای تحویل صحیح ایمیل‌ها الزامی است. اگر PTR تنظیم نباشد، بسیاری از سرورها ایمیل را Reject می‌کنند.
به همین دلیل، در سرویس‌های حرفه‌ای مثل VPS و سرور اختصاصی مشهدهاست، IP اختصاصی و PTR قابل تنظیم است.

رکوردهای SRV (ویژه Active Directory و ایمیل سازمانی)

برای Kerberos:

nslookup -q=srv _kerberos._tcp.domain.com

برای LDAP:

nslookup -q=srv _ldap._tcp.domain.com

این رکوردها برای سرویس‌های شبکه‌ای سازمانی ضروری‌اند.

استفاده از DNS با پورت غیر 53

اگر DNS روی پورت خاصی کار می‌کند:

nslookup -port=5353 mashhadhost.com 192.168.1.1

نمایش اطلاعات فنی (Debug Mode)

nslookup -debug mashhadhost.com

این دستور تمام جزئیات پاسخ DNS را نمایش می‌دهد و برای مدیران سرور بسیار ارزشمند است.

پاسخ Non-Authoritative چیست؟

یعنی پاسخ از کش DNS آمده نه از سرور اصلی دامنه.
برای دریافت پاسخ واقعی:

nslookup -q=soa mashhadhost.com

سپس نام سرور اصلی را برداشته و کوئری را روی آن اجرا کنید.

آیا دستور nslookup برای بررسی کندی بارگذاری سایت مفید است؟

بله، دستور nslookup یکی از مؤثرترین ابزارها برای شناسایی دلایل پنهان کندی بارگذاری وب‌سایت است؛ به‌خصوص زمانی که مشکل از لایه DNS باشد، نه از خود سرور. در بسیاری از موارد، وقتی یک سایت دیر لود می‌شود، ریشه مشکل این است که مرورگر کاربر زمان زیادی را صرف تبدیل نام دامنه به آدرس IP از طریق DNS می‌کند. اگر رکوردهای DNS به‌درستی تنظیم نشده باشند یا دامنه به سرور اشتباهی اشاره کند، این تأخیر می‌تواند چندین ثانیه به زمان لود سایت اضافه کند.

مثال ۱ – بررسی سرعت پاسخ DNS دامنه با دستور nslookup

فرض کنید کاربران گزارش می‌دهند سایت example.com کند باز می‌شود. اولین قدم این است که بررسی کنیم دامنه به چه IPای وصل شده است:

nslookup example.com

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

  • کند بودن DNS
  • تنظیم نادرست Load Balancing
  • ناسازگاری کش DNS در اینترنت کاربران

در چنین شرایطی، مشکل بیشتر در زیرساخت DNS است تا در هاست یا سرور.

مثال ۲ – مقایسه DNSهای مختلف با دستور nslookup

برای بررسی اینکه آیا کندی از DNS سرویس‌دهنده اینترنت کاربران است یا نه، می‌توان دامنه را از طریق DNSهای عمومی تست کرد:

(گوگل DNS):

nslookup example.com 8.8.8.8

(Cloudflare DNS):

nslookup example.com 1.1.1.1

اگر پاسخ یکی از این DNSها سریع و دیگری کند باشد، مشخص می‌شود مشکل از DNS ISP کاربران است، نه از سرور سایت شما.

پیشنهاد مطالعه:   راهنمای جامع تنظیمات DNS کارت شبکه

مثال ۳ – بررسی اتصال دامنه به سرور صحیح

گاهی پس از جابه‌جایی سرور یا تغییر هاست، دامنه هنوز برای بخشی از کاربران به IP قدیمی اشاره می‌کند. با دستور زیر می‌توان این موضوع را بررسی کرد:

nslookup example.com

اگر IP نمایش‌داده‌شده با IP سرور فعلی شما یکسان نباشد، یعنی برخی کاربران هنوز به سرور قبلی هدایت می‌شوند و همین مسئله باعث کندی، خطا یا اختلاف در محتوای سایت خواهد شد.

مثال ۴ – بررسی پاسخ Non-Authoritative در nslookup

اگر خروجی دستور nslookup شامل عبارت زیر باشد:

Non-authoritative answer

یعنی پاسخ از کش DNS دریافت شده و ممکن است قدیمی باشد. این موضوع باعث می‌شود بعضی کاربران به مسیرهای اشتباه یا کند هدایت شوند.

برای دریافت پاسخ واقعی از سرور اصلی دامنه، از این دستور استفاده کنید:

nslookup -q=soa example.com

سپس نام سرور اصلی (Primary Nameserver) را برداشته و کوئری را مستقیماً روی آن اجرا کنید تا پاسخ authoritative دریافت شود.

جمع‌بندی: نقش دستور nslookup در افزایش سرعت سایت

اگر وب‌سایت شما:

  • دیر باز می‌شود
  • برای بعضی کاربران سریع و برای بعضی کند است
  • CDN به‌درستی عمل نمی‌کند
  • یا بعد از تغییر سرور دچار رفتارهای غیرعادی شده

اولین و مهم‌ترین اقدامی که باید انجام دهید، بررسی DNS با دستور nslookup است. در بسیاری از مواقع، مشکل نه از منابع سرور است و نه از هاست، بلکه از تنظیمات یا عملکرد DNS ناشی می‌شود؛ و nslookup دقیق‌ترین ابزار برای شناسایی این وضعیت است.

جمع‌بندی

nslookup یک ابزار خط فرمان برای دریافت اطلاعات یک دامنه، از جمله آدرس IP و رکورد DNS آن است. با استفاده از دستورات مختلف nslookup، اطلاعات متفاوتی درباره دامنه خود دریافت خواهید کرد. این امر می‌تواند در عیب‌یابی مشکلات مرتبط با DNS به شما کمک کند. 

اگر مدیر سایت، سرور، ایمیل سازمانی یا هاست هستید، nslookup ابزار اصلی شما برای فهمیدن این است که:

  • دامنه دقیقاً به کجا وصل است
  • ایمیل چرا کار نمی‌کند
  • DNS چرا به IP اشتباه اشاره دارد
  • Reverse DNS تنظیم است یا نه

سوالات متداول درباره nslookup

تفاوت nslookup و ping چیست؟

ping بررسی می‌کند آیا یک IP قابل دسترسی است یا نه.
nslookup اطلاعات DNS دامنه را ارائه می‌دهد.

 اگر دستور nslookup چند IP نشان دهد یعنی چه؟

دامنه پشت CDN است یا Load Balancing دارد.

 آیا nslookup روی ویندوز نصب است؟

بله، به‌صورت پیش‌فرض در ویندوز موجود است و نیازی به نصب ندارد.

 کاربردهای دستور nslookup چیست؟

بررسی IP، نیم‌سرورها، رکوردهای ایمیل، عیب‌یابی DNS و کندی سایت.

این پست چقدر مفید بود؟

برای رتبه بندی روی یک ستاره کلیک کنید!

میانگین رتبه 0 / 5. تعداد آرا: 0

تاکنون هیچ رایی به دست نیامده است! اولین نفری باشید که این پست را رتبه بندی می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

CAPTCHA
اگر ناخواناست روی تصویر کلیک کنید