| dog(1) | dog(1) |
نام (NAME)
dog - ابزار خط فرمان برای پرسوجوی سامانهی نام دامنه (DNS)
خلاصه دستور (SYNOPSIS)
dog [options] [domains...]
دستور dog یک ابزار خط فرمانی برای پرسوجوی سامانه نام دامنه (DNS) است. این ابزار خروجی رنگی ارائه میدهد، از پروتکلهای DNS-over-TLS و DNS-over-HTTPS پشتیبانی میکند و میتواند خروجی با ساختار JSON تولید نماید.
مثالها (EXAMPLES)
- dog example.net
- پرسوجوی رکورد A یک دامنه با استفاده از تنظیمات پیشفرض
- dog example.net MX
- جستجوی رکوردهای MX به جای آن
- dog example.net MX @1.1.1.1
- استفاده از یک کارساز نام (nameserver) مشخص به جای حالت پیشفرض
- dog example.net MX @1.1.1.1 -T
- استفاده از پروتکل TCP به جای UDP
- dog -q example.net -t MX -n 1.1.1.1 -T
- مشابه موارد بالا، اما با استفاده از آرگومانهای صریح
گزینههای پرسوجو (QUERY OPTIONS)
- -q, --query=HOST
- نام میزبان یا نام دامنه مورد پرسوجو.
- -t, --type=TYPE
- نوع رکورد DNS مورد پرسوجو (A، MX، NS و غیره).
- -n, --nameserver=ADDR
- نشانی کارساز نام برای ارسال بستهها به آن.
- --class=CLASS
- کلاس شبکه رکورد DNS مورد پرسوجو (IN، CH، HS).
بهطور پیشفرض، dog رکوردهای A را با استفاده از تحلیلگر پیشفرض سیستم درخواست میکند. حداقل یک نام دامنه باید ارسال شود — برنامه dog بهطور خودکار کارسازهای نام ریشه را پرسوجو نمیکند.
گزینههای پرسوجو را میتوان با یک گزینه خط فرمان مانند `--query lookup.dog' یا `--type MX'، یا به صورت آرگومانهای ساده مانند `lookup.dog' یا `MX' ارسال کرد. برنامه dog حدس هوشمندانهای خواهد زد که منظور از آرگومانهای ساده چیست (MX کاملاً مشخص است که یک نوع رکورد است)، که نوشتن سریع پرسوجوهای موردی را آسانتر میکند. اگر دقت و صراحت بیشتری مد نظر است، از گزینههای بلند استفاده کنید.
اگر بیش از یک دامنه، نوع، کارساز نام یا کلاس مشخص شود، dog برای هر ترکیب یک پرسوجو انجام داده و نتایج ترکیبی را در یک جدول نمایش میدهد. برای مثال، ارسال سه آرگومان نوع و دو آرگومان نام دامنه، شش درخواست ارسال خواهد کرد.
سامانه DNS بهطور سنتی از درگاه ۵۳ برای هر دو پروتکل TCP و UDP استفاده میکند. برای استفاده از یک تحلیلگر با درگاهی متفاوت، شماره درگاه را پس از دو نقطه (:) در نشانی کارساز نام درج کنید.
گزینههای ارسال (SENDING OPTIONS)
- --edns=SETTING
- تعیین تمایل به استفاده از EDNS. این گزینه میتواند `disable'، `hide' یا `show' باشد.
- --txid=NUMBER
- تنظیم شناسه تراکنش روی یک مقدار مشخص.
- -Z=TWEAKS
- تنظیم دستکاریهای غیرمعمول در سطح پروتکل.
گزینههای انتقال (TRANSPORT OPTIONS)
- -U, --udp
- استفاده از پروتکل DNS روی UDP.
- -T, --tcp
- استفاده از پروتکل DNS روی TCP.
- -S, --tls
- استفاده از پروتکل DNS-over-TLS.
- -H, --https
- استفاده از پروتکل DNS-over-HTTPS.
بهطور پیشفرض، dog از پروتکل UDP استفاده میکند و در صورتی که پاسخ نشان دهد پیام برای UDP بیش از حد بزرگ است، بهطور خودکار درخواست را با استفاده از TCP مجدداً ارسال میکند. ارسال --udp تنها از UDP استفاده کرده و در این حالت با شکست مواجه میشود؛ ارسال --tcp بهطور پیشفرض از TCP استفاده خواهد کرد.
پروتکلهای DNS-over-TLS (DoT) و DNS-over-HTTPS (DoH) با گزینههای --tls و --https در دسترس هستند. به یاد داشته باشید که بعید است تحلیلگر پیشفرض سیستم به درخواستهایی با استفاده از این پروتکلها پاسخ دهد.
توجه داشته باشید که اگر یک نام میزبان یا نام دامنه به جای نشانی IP به عنوان کارساز نام داده شود، وضوحیابی آن میزبان توسط سیستمعامل انجام میشود، نه توسط dog.
برخلاف سایر روشها، نوع انتقال HTTPS نیازمند یک نشانی وب (URL) کامل، شامل پروتکل، نام دامنه و مسیر است.
گزینههای خروجی (OUTPUT OPTIONS)
- -1, --short
- حالت کوتاه: تنها نتیجه اول را نمایش میدهد.
- -J, --json
- نمایش خروجی در قالب JSON.
- --color, --colour=WHEN
- زمان رنگی کردن خروجی. میتواند یکی از مقادیر `always'، `automatic' یا `never' باشد.
- --seconds
- مدت زمانها را بر حسب ساعت و دقیقه قالببندی نمیکند؛ در عوض آنها را بر حسب ثانیه نمایش میدهد.
- --time
- مدت زمانی که طول کشید تا پاسخ دریافت شود را چاپ میکند.
گزینههای عمومی (META OPTIONS)
- --help
- مروری بر گزینههای خط فرمان را نمایش میدهد.
- --version
- نسخه در حال اجرای dog را نمایش میدهد.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
برنامه dog به متغیرهای محیطی زیر پاسخ میدهد:
DOG_DEBUG
این متغیر را روی هر مقدار غیرخالی تنظیم کنید تا dog اطلاعات اشکالزدایی را به خروجی خطای استاندارد ارسال کند. برای دریافت خروجی عمیقتر و دقیقتر، آن را روی رشته دقیق `trace' تنظیم کنید.
انواع رکوردها (RECORD TYPES)
برنامه dog انواع رکوردهای زیر را میشناسد و میتواند تفسیر کند:
- A
- نشانیهای IPv4
- AAAA
- نشانیهای IPv6
- CAA
- مراجع صدور گواهی مجاز (CA)
- CNAME
- نامهای مستعار رسمی دامنه
- HINFO
- اطلاعات سیستم و در برخی مواقع توضیحات درخواستهای غیرمجاز
- LOC
- اطلاعات موقعیت مکانی
- MX
- نشانیهای کارساز ایمیل
- NAPTR
- قوانین DDDS
- NS
- کارسازهای نام دامنه
- OPT
- افزونههای پروتکل DNS
- PTR
- اشارهگرها به نامهای رسمی، معمولاً برای وضوحیابی معکوس
- SOA
- اطلاعات مدیریتی درباره منطقهها (zones)
- SRV
- نشانیهای IP همراه با شماره درگاه
- SSHFP
- اثر انگشت کلید SSH
- TLSA
- گواهیهای TLS، کلیدهای عمومی و هشها
- TXT
- اطلاعات متنی دلخواه
هنگامی که یک بسته پاسخ DNS حاوی رکوردی از یکی از این انواع شناختهشده باشد، dog آن را در جدولی شامل نام نوع و خلاصهای خوانا برای انسان از محتوای آن نمایش میدهد.
رکوردهایی با شماره نوعی که به هیچ نوع رکورد شناختهشدهای نگاشت نمیشود همچنان نمایش داده خواهند شد. از آنجا که این رکوردها قابل تفسیر نیستند، محتوای آنها به صورت یک سری اعداد نمایش داده میشود.
برنامه dog همچنین شامل فهرستی از نامهای انواع رکورد است که شماره نوع آنها را میداند، اما قادر به تفسیر آنها نیست، مانند IXFR یا ANY یا AFSDB. این موارد به عنوان آرگومانهای خط فرمان قابل قبول هستند، به این معنی که میتوانید با `dog AFSDB' یک درخواست AFSDB ارسال کنید. با این حال، محتوای پاسخ آنها همچنان به صورت عدد نمایش داده میشود. ممکن است این موارد در نسخههای بعدی dog پشتیبانی شوند.
دستکاریهای پروتکل (PROTOCOL TWEAKS)
آرگومان خط فرمان -Z میتواند یک یا چند بار برای تنظیم برخی گزینهها در سطح پروتکل در پرسوجوهای DNS ارسالشده استفاده شود. این گزینه مقادیر زیر را میپذیرد:
- aa
- بیت AA (پاسخهای معتبر - Authoritative Answers) را در پرسوجو تنظیم میکند.
- ad
- بیت AD (دادههای معتبر - Authentic Data) را در پرسوجو تنظیم میکند.
- bufsize=NUM
- اندازه بار مفید UDP را در فیلد OPT در پرسوجو تنظیم میکند. اگر EDNS غیرفعال باشد، این گزینه تأثیری ندارد.
- cd
- بیت CD (بررسی غیرفعال - Checking Disabled) را در پرسوجو تنظیم میکند.
وضعیتهای خروج (EXIT STATUSES)
- 0
- اگر همه چیز بدون خطا انجام شود.
- 1
- در صورت بروز خطای شبکه، ورودی/خروجی یا TLS در حین عملیات.
- 2
- اگر در صورت اجرا در حالت کوتاه، نتیجهای از سرور دریافت نشود. این میتواند هر خطای دریافتی از سرور باشد، نه فقط NXDOMAIN.
- 3
- در صورت بروز مشکل در آرگومانهای خط فرمان.
نویسنده (AUTHOR)
برنامه dog توسط Benjamin `ogham' Sago توسعه یافته و نگهداری میشود.
وبسایت: https://dns.lookup.dog
کد منبع: https://github.com/ogham/dog
| v0.1.0 |