لینک کوتاه مطلب : https://hsgar.com/?p=5432

DNS Esoterica – چرا نمی توانید سوئیس را حفاری کنید – وبلاگ ترنس ادن

به عنوان بخشی از کار جدیدم، در مورد اسرار سیستم نام دامنه چیزهای بیشتری یاد می‌گیرم. هر فانی باید بداند فکر کردم ممکنه

یونیکس فروتن dig دستور به شما امکان می دهد تا انواع اطلاعات DNS را پرس و جو کنید. به عنوان مثال، برای مشاهده رکوردهای سرور نام برای وب سایت BBC، می توانید اجرا کنید:

dig bbc.co.uk NS

که به شما خواهد رسید:

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 097db2ee4c92b84982083ecf62b5b5f2007906e616035113 (good)
;; QUESTION SECTION:
;bbc.co.uk.         IN  NS

;; ANSWER SECTION:
bbc.co.uk.      900 IN  NS  ddns1.bbc.com.
bbc.co.uk.      900 IN  NS  dns0.bbc.co.uk.
bbc.co.uk.      900 IN  NS  ddns1.bbc.co.uk.
...

و کلی خیلی بیشتر. اما شما می توانید به پایین تر از درخت DNS بروید. سرورهای نام برای چیست؟ .co.uk?

dig co.uk NS

و شما پاسخ خود را دریافت خواهید کرد. می‌توانید یک جلوتر بروید و سرورهای نام دامنه سطح بالا را ببینید:

dig uk NS

که با:

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 880427eda8ff71de2ab4f43862b5b65f95e317d29cc10a8e (good)
;; QUESTION SECTION:
;uk.                IN  NS

;; ANSWER SECTION:
uk.         159692  IN  NS  nsc.nic.uk.
uk.         159692  IN  NS  dns1.nic.uk.
uk.         159692  IN  NS  nsd.nic.uk.
...

و این کار با هر TLD. کشورهایی مانند de، نام های عمومی مانند museum، و دامنه های بین المللی مانند 在线. همه آنها کار می کنند!

به جز سوئیس

کد کشور سوئیس است ch – بعد از نام Confoederatio Helvetica. بیایید اجرا کنیم dig بر روی آن: dig ch NS

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 31910
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

بوده ایم رد و هشدار داد. اما چرا این اتفاق فقط در مورد سوئیس می افتد؟

تقصیر – مانند بسیاری از بیماری های مدرن – در اواسط دهه 1970 نهفته است. Bee Gees با «Jive Talkin» به نمودارها هجوم بردند، نمایش تصویر ترسناک راکی ​​طرفدارانی را جمع کرد و دانشمندان MIT باعث هرج و مرج شدند. به معنای واقعی کلمه.

Chaosnet یک پروتکل شبکه اولیه بود که برای شبکه های محلی طراحی شده بود. از نظر فنی بسیار باهوش بود، اما، متأسفانه، هرگز واقعاً بلند نشد.

با این حال، راه خود را به سوابق DNS پیدا کرد. بیایید به پاسخ به dig bbc.co.uk NS:

;; ANSWER SECTION:
bbc.co.uk.      900 IN  NS  ddns1.bbc.com.

خوب، قسمت اول نام دامنه است. شماره TTL است. را IN کلاس است. NS می گوید این یک رکورد سرور نام است. و در نهایت، دامنه سرور نام را دریافت می کنیم.

اما، در کلاس، چه می کند IN ایستادن برای؟

اینترنت“، بدیهی است. صبر کنید… آیا DNS روی اینترنت نیست؟ چرا باید مشخص کنیم که این رکوردهای DNS برای اینترنت هستند؟

خب معلوم نیست؟ زیرا ممکن است بخواهید رکوردهای یک ناهمسان شبکه. مثلاً Chaosnet.

و اگر اینترنت به اختصار باشد IN، Chaosnet به چه چیزی کوتاه شده است؟ درست است! CH.

بنابراین، dig ورود شما را می بیند ch برای سوئیس، اما فکر می کند که شما در مورد آن سوال می کنید CH برای Chaosnet. و بنابراین شکست می خورد.

به منظور پرس و جو از سوابق برای ch ما باید یک نام دامنه کاملاً کاملاً واجد شرایط ارائه کنیم. این کار به سادگی چسباندن یک نقطه در انتهای نام دامنه است:

dig ch. NS

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: e19b9c23cdfa0f7bcf82750462b5c16b47744386c7974ffb (good)
;; QUESTION SECTION:
;ch.                IN  NS

;; ANSWER SECTION:
ch.         164894  IN  NS  e.nic.ch.
ch.         164894  IN  NS  a.nic.ch.
ch.         164894  IN  NS  f.nic.ch.

و ما به آنجا می رویم. یک آزمایش شکست خورده در دهه 1970 مانند ویدیوهای پایین زنگ و Betamax – اما با عواقب بسیار طولانی تر.

می توانید برخی را ببینید CH با اجرای مانند:

dig ch txt @f.root-servers.net version.bind

با این کار چیزی شبیه به:

;; ANSWER SECTION:
version.bind.       86400   CH  TXT "cloudflare-f-root-20190930"

البته DNS اینطور نیست فقط دارند IN و CH سوابق کلاس

همچنین وجود دارد هزیودHS. اما شما از قبل می دانستید، درست است …؟

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.