پیش از مطالعه درباره NSLookup حتماً لازم است درباره مفهوم DNS و مفاهیم مربوط به آن مانند Name Server و Zone File اطلاع داشته باشید، که در ادامه به اختصار این مفاهیم را توضیح میدهیم.
DNS:
همانطور که میدانید برای مشاهده سایتهای اینترنتی یا ارسال ایمیل از آدرسهای حرفی مانند www.radcom.ir استفاده میشود، ولی کامپیوتر و مجموعه اینترنت برای تبادل اطلاعات از آدرسهای عددی مانند 217.218.60.147 که IP نامیده میشوند، استفاده می کند.
مجموعه سیستم DNS، آدرس حرفی یک سایت (یا همان دامنه) را به آدرس عددی تبدیل می کند، در واقع مشخص میکند که این سایت در کجای اینترنت واقع شده است، که این عملیات شامل مراحل مختلفی می شود.
کامپیوتری که به طور مشخص آدرس حرفی را به آدرس عددی تبدیل می کند، Name Server نامیده میشود. Name Server این کار را توسط نرم افزار مشخصی انجام می دهد، که رایج ترین آنها BIND و Microsoft DNS میباشد.
در Name Server یک مجموعه اطلاعات درباره دامنهها ذخیره میشود. هنگامیکه برای یک دامنه فضای هاست تعریف میشود، در 2 یا چند Name Server اطلاعات مربوط به آن دامنه وارد میشود، که به این Name Server ها، Name Server های مرجع پایه گفته میشود. که برای نمونه اطلاعات مربوط به دامنه font.ir را در جدول زیر مشاهده میکنید.
| Host | Record type | Value |
font.ir. | NS | ns2.parsihost.com. |
font.ir. | NS | ns4.parsihost.com. |
font.ir. | NS | ns28.DNSLake.com. |
font.ir. | A | 217.218.60.151 |
font.ir. | MX (10) | mail.font.ir. |
font.ir. | TXT | v=spf1 mx -all |
ftp.font.ir. | CNAME | font.ir. |
mail.font.ir. | A | 217.218.60.151 |
mssql.font.ir. | A | 217.218.60.151 |
ns.font.ir. | A | 217.218.60.151 |
webmail.font.ir. | A | 217.218.60.151 |
www.font.ir. | CNAME | font.ir. |
به این مجموعه اطلاعا ت مربوط به دامنه ZoneFile گفته میشود.
NSLookup
NSLookup یک برنامه از نوع خط فرمان (command-line) است که مخفف Name Server Lookup میباشد. به وسیله NSLookup میتوان از Name Serverهای مختلف اطلاعات مربوط به دامنههای مورد نظر را در صورت امکان بدست آورد. اطلاعاتی که درباره دامنه از طریق NSLookup مشاهده میکنیم، در واقع همان اطلاعاتی است که در ZoneFile مربوط به دامنه وجود دارد.
اجرای برنامه NSLookup
Command Shell را باز میکنیم و دستور nslookup را تایپ میکنیم.

هنگام اجرا، NSLookup سروری را که به عنوان DNS Server کامپیوتر شما تعریف شده است را به عنوان سرور پیش فرض تعیین میکند. این آدرس را میتوانید در تنظیمات شبکه خود در بخش TCP/IP مشاهده کنید. برای مثال در شکل بالا سروری که پرسش های ما را جواب می دهد، دارای آدرس 192.168.200.192 است که یک Name Server در شبکه داخلی میباشد.
حال آدرس font.ir را وارد میکنیم.

دو خط اول پاسخ مشخص میکند که کدام سرور و با چه آدرسی پاسخ را ارائه کرده است.
خط سوم عبارت Non-authoritative را مشاهده میکنیم. این عبارت به این معنی است که سرور 192.168.200.192، مرجع پایه اطلاعات دامنه font.ir نیست و آن را در اختیار ندارد، لذا فرایند resolve را برای دریافت آنها آغاز کرده است و اطلاعات مربوط به این دامنه را از سرور دیگری دریافت کرده است.
درخط چهارم و پنجم نام دامنه و آدرس هاست آن 217.218.60.151 را مشاهده میکنیم. که مطابق با آدرسی است که در ابتدای صفحه در جدول ZoneFile مربوط به دامنه font.ir در رکورد A مشاهده کردیم.
برای اینکه از یک سرور دیگر پرس و جو کنیم، در خط فرمان عبارت server و نام سرور مورد نظر یا آدرس IP آن را مینویسیم.
این بار از سرور ns4.parsihost.com درباره دامنه font.ir میپرسیم.

همانطورکه در شکل میبینید، به کمک دستور server ns4.parsihost.com ، سرور پیش فرض را به ns4.parsihost.com تغییر میدهیم. این بار در جوابی که برای font.ir مشاهده میکنیم عبارت Non-authoritative دیده نمیشود. در واقع در اینجا ns4.parsihost.com مرجع پایه اطلاعات دامنه font.ir است.
همانطور که در جدول مربوط به ZoneFile دامنه دیدید، در این جدول انواع مختلفی از اطلاعات وجود دارد که میتوان نوع آنها را در ستون Record type مشاهده کرد.
برای بدست آوردن سایر اطلاعات دامنه میتوانیم از دستور set type استفاده کنیم. این دستور دارای ساختاری طبق عبارت ذیل میباشد.
set type=NAME
(where NAME is the type of record to look at for example, A, ANY, CNAME, MX, NS, PTR, SOA, SRV)
به جای عبارت NAME میتوان یکی از انواع داده موجود در ZoneFile را نوشت. به طور مثال A, MX, NS ,TXT,...
برای مثال دستور set type=txt را تایپ میکنیم و مجدداً درباره دامنه font.ir پرس و جو میکنیم.

همانطور که در شکل میبینید، اطلاعات مربوط به رکورد TXT دامنه را نمایش میدهد، که می توان مقدار نمایش داده شده را با مقدار آن در جدول ابتدای صفحه مقایسه کرد.
NSLookup دارای دو دستور اصلی server و set type می باشد. برای مشاهده فهرست دستورات می توانید در خط فرمان عبارت ? یا help را تایپ کنید.
برای اطلاع بیشتر درباره NSLookup می توانید به این مقاله مراجعه کنید. (http://support.microsoft.com/kb/200525)
در واقع NSLookup یک ابزار مدیریتی در شبکه برای آزمایش و رفع اشکال Name Server ها می باشد. علاوه بر NSLookup میتوان از سایر نرم افزارها مانند DIG استفاده کرد.(Domain Information Groper - کاوشگر اطلاعات دامنه )