کتابخانه‌ی استاندارد · شبکه

دی‌ان‌اس شبکه net/dns

پیدا کردن نشانی نام‌ها و پرسیدن هر نوع رکورد DNS.

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

DNS نام‌هایی مثل salamlang.ir را به نشانی IP تبدیل می‌کند. جستجو ساده‌ترین راه است و همان کاری را می‌کند که مرورگر می‌کند. روال‌های جستجوی ... رکوردهای ویژه را مستقیم از کارگزار DNS می‌پرسند و برای ساختن ابزارهای شبکه یا بررسی پیکربندی دامنه به کار می‌آیند.

گونه‌ها

پرسش Question

ساختار پرسش
یک پرسش.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام دامنه.
qtypeqtypeصحیح = 0نوع رکورد.
qclassqclassصحیح = 0رده.
net-dns-Message.salam
واردسازی شبکه.دی‌ان‌اس شبکه
واردسازی فشرده سازی

روال ریشه:
    پرسش := دی‌ان‌اس شبکه.کدگذاری پرسش("salamlang.ir"، دی‌ان‌اس شبکه.نوع آ، ۴۲)
    سرچاپ فشرده سازی.طول بافر(پرسش)، فشرده سازی.بافر به پایه۶۴(پرسش)
    پ := دی‌ان‌اس شبکه.کدگشایی(پرسش.data، پرسش.len)
    سرچاپ پ.id، پ.qr، پ.rd، پ.opcode، پ.rcode، پ.questions.items.طول()
    س := پ.questions.items[۰]
    سرچاپ س.name، س.qtype == دی‌ان‌اس شبکه.نوع آ، س.qclass == دی‌ان‌اس شبکه.رده اینترنت
    سرچاپ پ.answers.items.طول()، پ.authorities.items.طول()، پ.extras.items.طول()، پ.aa، پ.tc، پ.ra
    سرچاپ دی‌ان‌اس شبکه.نوع ان‌اس، دی‌ان‌اس شبکه.نوع سی‌نیم، دی‌ان‌اس شبکه.نوع اس‌اُاِی، دی‌ان‌اس شبکه.نوع پی‌تی‌آر، دی‌ان‌اس شبکه.نوع ام‌ایکس، دی‌ان‌اس شبکه.نوع تی‌ایکس‌تی، دی‌ان‌اس شبکه.نوع کواداِی
    سرچاپ دی‌ان‌اس شبکه.جستجو("localhost")
    سرچاپ دی‌ان‌اس شبکه.کارگزارهای پیش‌فرض().طول() > ۰
پایان
خروجی30 ACoBAAABAAAAAAAACXNhbGFtbGFuZwJpcgAAAQAB 42 false true 0 0 1 salamlang.ir true true 0 0 0 false false false 2 5 6 12 15 16 28 127.0.0.1 true

پرسش‌ها Questions

ساختار پرسش‌ها
فهرست پرسش‌ها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<پرسش>پرسش‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

رکورد Record

ساختار رکورد
یک رکورد پاسخ.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام دامنه.
rtypertypeصحیح = 0نوع رکورد.
rclassrclassصحیح = 0رده.
ttlttlصحیح = 0چند ثانیه می‌شود پاسخ را نگه داشت.
prioritypriorityصحیح = 0اولویت رکورد MX؛ عدد کمتر یعنی اولویت بیشتر.
datadataرشته = ""داده‌ی رکورد به شکل متن: نشانی، نام یا متن.
net-dns-Lookup.salam
واردسازی شبکه.دی‌ان‌اس شبکه

روال ریشه:
    سرچاپ دی‌ان‌اس شبکه.جستجوی آ("salamlang.ir")
    سرچاپ دی‌ان‌اس شبکه.جستجوی کواداِی("salamlang.ir")
    سرچاپ دی‌ان‌اس شبکه.جستجوی سی‌نیم("www.github.com")
    ر := دی‌ان‌اس شبکه.جستجوی ام‌ایکس("gmail.com")
    هر م در ر.items:
        سرچاپ م.priority، م.data، م.ttl، م.rtype، م.rclass، م.name
    پایان
    سرچاپ دی‌ان‌اس شبکه.جستجوی تی‌ایکس‌تی("salamlang.ir")
    سرچاپ دی‌ان‌اس شبکه.جستجوی معکوس("8.8.8.8")
    پ := دی‌ان‌اس شبکه.پرسش از کارگزار("1.1.1.1"، "salamlang.ir"، دی‌ان‌اس شبکه.نوع آ، ۲۰۰۰)
    سرچاپ پ.answers.items.طول()
پایان

رکوردها Records

ساختار رکوردها
فهرست رکوردها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<رکورد>رکوردها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

پیام Message

ساختار پیام
یک پیام DNS، پرسش یا پاسخ.
نامانگلیسیگونهتوضیح
ididصحیح = 0شناسه‌ای که پاسخ را به پرسش گره می‌زند.
qrqrمنطقی = نادرستپیام پاسخ است.
opcodeopcodeصحیح = 0نوع عمل؛ صفر پرسش معمولی.
aaaaمنطقی = نادرستپاسخ از کارگزار صاحب‌اختیار است.
tctcمنطقی = نادرستپاسخ بریده شده.
rdrdمنطقی = نادرستدرخواست جستجوی بازگشتی.
raraمنطقی = نادرستکارگزار جستجوی بازگشتی را پشتیبانی می‌کند.
rcodercodeصحیح = 0کد نتیجه؛ صفر یعنی بدون خطا، ۳ یعنی نام وجود ندارد.
questionsquestionsپرسش‌هاپرسش‌ها.
answersanswersرکوردهاپاسخ‌ها.
authoritiesauthoritiesرکوردهارکوردهای صاحب‌اختیار.
extrasextrasرکوردهارکوردهای اضافی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

پایاها و متغیرها

نوع آ TypeA

پایا نوع آ: صحیح۳۲ = 1
رکورد نشانی IPv4.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع ان‌اس TypeNS

پایا نوع ان‌اس: صحیح۳۲ = 2
کارگزار نام دامنه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع سی‌نیم TypeCNAME

پایا نوع سی‌نیم: صحیح۳۲ = 5
نام مستعار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع اس‌اُاِی TypeSOA

پایا نوع اس‌اُاِی: صحیح۳۲ = 6
آغاز اختیار دامنه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع پی‌تی‌آر TypePTR

پایا نوع پی‌تی‌آر: صحیح۳۲ = 12
نام برای یک نشانی (جستجوی معکوس).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع ام‌ایکس TypeMX

پایا نوع ام‌ایکس: صحیح۳۲ = 15
کارگزار پست الکترونیک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع تی‌ایکس‌تی TypeTXT

پایا نوع تی‌ایکس‌تی: صحیح۳۲ = 16
متن آزاد، مثل رکوردهای SPF.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

نوع کواداِی TypeAAAA

پایا نوع کواداِی: صحیح۳۲ = 28
رکورد نشانی IPv6.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

رده اینترنت ClassIN

پایا رده اینترنت: صحیح۳۲ = 1
رده‌ی اینترنت؛ تقریباً همیشه همین.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

روال‌ها

کدگذاری پرسش EncodeQuery

روال کدگذاری پرسش(name: رشته، qtype: صحیح، id: صحیح): compress.ByteBuf
پیام پرسش DNS را برای فرستادن روی UDP می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

کدگشایی Decode

روال کدگشایی(data: تهی*، n: صحیح): پیام
پیام DNS را از بایت‌ها می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

جستجو Lookup

روال جستجو(host: رشته): رشته
نشانی یک نام میزبان را با تنظیمات سیستم‌عامل پیدا می‌کند؛ پرونده‌ی hosts هم خوانده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

پرسش از کارگزار QueryServer

روال پرسش از کارگزار(server: رشته، name: رشته، qtype: صحیح، timeout_ms: صحیح): پیام
پرسش را مستقیم از کارگزار داده‌شده می‌پرسد و پیام پاسخ را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

کارگزارهای پیش‌فرض DefaultServers

روال کارگزارهای پیش‌فرض(): وکتور<رشته>
کارگزارهای DNS سیستم، از پیکربندی شبکه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Message.salam

جستجوی آ LookupA

روال جستجوی آ(name: رشته): وکتور<رشته>
نشانی‌های IPv4 یک نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

جستجوی کواداِی LookupAAAA

روال جستجوی کواداِی(name: رشته): وکتور<رشته>
نشانی‌های IPv6 یک نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

جستجوی سی‌نیم LookupCNAME

روال جستجوی سی‌نیم(name: رشته): رشته
نام اصلی یک نام مستعار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

جستجوی ام‌ایکس LookupMX

روال جستجوی ام‌ایکس(name: رشته): رکوردها
کارگزارهای پست یک دامنه، با اولویت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

جستجوی تی‌ایکس‌تی LookupTXT

روال جستجوی تی‌ایکس‌تی(name: رشته): وکتور<رشته>
رکوردهای متنی یک دامنه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam

جستجوی معکوس LookupPTR

روال جستجوی معکوس(ip: رشته): وکتور<رشته>
نام‌های یک نشانی IP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-dns-Lookup.salam