امین سالم
برنامه نویس و متخصص Distributed Ledgers

آموزش دستور DIG لینوکس به زبان ساده

امروز قصد دارم با هم یک دستور از دستورهای فراوان خانواده ی LINUX رو بررسی کنیم . دستور Dig یک ابزاری به منظور درخواست دادن به NameServer های DNS ها به منظور به دست آوردن اطلاعات Host ها ، mail Exchange ها ، nameserver ها و اطلاعات مربوط به آن است . این دستور را میتوانید در خانواده ی Linux یا Mac مورده استفاده قرار دهید . بیشترین کاربرد دستور Dig به منظور دخواست های ساده برای تک کاربر هستش.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

دستورالعمل

ابتدا دستور را اجرا می کنیم :

dig mt-example.com

حال با اجرای دستور بالا خروجی زیر را مشاهده می کنید :

; <<>> DiG 9.4.1-P1 <<>> mt-example.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25550
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mt-example.com.			IN	A

;; ANSWER SECTION:
mt-example.com.		28626	IN	A	205.186.150.66

;; Query time: 4 msec
;; SERVER: 64.207.129.21#53(64.207.129.21)
;; WHEN: Thu Aug  7 16:49:35 2008
;; MSG SIZE  rcvd: 48

درک نتیجه

; <<>> DiG 9.4.1-P1 <<>> mt-example.com
;; global options:  printcmd

در این دو خط دستور Dig به معرفی خودش و اینکه از چه نسخه ای استفاده می کند و امکانات کلی که رویش تنظیم شده است را به ما معرفی می کند. (printcmd)

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25550
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

در اینجا ، Dig یک سری جزئیات فنی را درباره ی جواب دریافتی از سمته DNS به ما می دهد . این قسمت از خروجی را می توان بوسیله ی خاموش کردن کامنت no comment غیرفعال کرد ، فقط باید توجه داشت که اگر کامنت ها را غیر فعال کنیم بسیاری از اطلاعات Header را غیرفعال می کند و نمایش نمی دهد .

;; QUESTION SECTION:
;mt-example.com.			IN	A

در این قسمت Dig به ما یادآوری می کند که نوع درخواست (Query) که فرستادیم از چه نوعی بوده است ، درخواست به طور پیش فرض از نوع A رکورد هست .

;; ANSWER SECTION:
mt-example.com.		28626	IN	A	205.186.150.66

و حالا ما در این قسمت به جواب مورد نظرمون میرسیم و آن هم به دست آوردن آدرس mt-example.com که 205.186.150.66 هست .

;; Query time: 272 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Thu Feb 13 09:35:55 PST 2014
;; MSG SIZE  rcvd: 48

بخش آخر خروجی مربوط به اطلاعاتی آماری هستش و می توان بوسیله ی سوییچ no stat این گزینه را هم نیز غیرفعال کرد و سریع ترین راه ممکن برای به رسیدن به جوابمون ، اجرا کردن دستور زیر است :

dig mt-example.com +short

چه کاری می توانم با دستور Dig انجام دهم ؟

dig این امکان را به ما می دهد تا هر نوع درخواست معتبری را به سرور DNS بدهیم ، مثل :

  • A (برای IP Address)
  • TXT (رکورد text)
  • MX برای Mail Exchange
  • NS برای بدست آوردن Nameserver ها

دستو زیر آدرس mt-example.com را به ما برمیگرداند :

dig mt-example.com A +noall +answer

دستور زیر تمامی میل سرور های mt-example.com را به ما نشان میدهد :

dig mt-example.com MX +noall +answer

دستور زیر لیست تمام DNS سرور های معتبر را به ما نشان می دهد :

dig mt-example.com NS +noall +answer

دستور زیر تمامی حالات بالا را با هم به ما نشان می دهد :

dig mt-example.com ANY +noall +answer

دستور زیر درخواست را به Nameserver مخصوصی میفرستد :

dig @ns1.mediatemple.net mt-example.com

و در نهایت دستور زیر برای به دست آوردن مسیر است :

dig mt-example.com +trace

امیدوارم برایتان مفید بوده باشه این آموزش

مراقبه خوبیاتون باشید :)


امین سالم
امین سالم

برنامه نویس و متخصص Distributed Ledgers

فارغ التحصیل رشته سخت افزار دانشگاه شاهد هستم ، بیشتر فعالیتی که در حوزه شبکه داشته ام در حوزه زیرساخت های ارتباطی سیسکو و مایکروسافت بوده است ، دوره های CISCO(CCNA_CCNP) و MCSE را در مجتمع فنی تهران شعبه ابن سینا سپری کرده ام ، در حوزه رباتیک دارای عناوین مختلف کشوری در مسابقات داخلی هستم و علاقه مند به کارهای عملی در حوزه شبکه می باشد ، در این راستا در چندین شرکت بصورت پروژه ای و کارآموزی پروژه هایی در حوزه زیرساختی ، مایکروسافتی و VOIP را نیز انجام داده ام ، بصورت کلی دستی در برنامه نویسی و

نظرات