| ldns-testns(1) | General Commands Manual | ldns-testns(1) |
نام (NAME)
ldns-testns - ابزار ساده برای شبیهسازی سرور نام دامنه (fake nameserver)
خلاصه دستور (SYNOPSIS)
ldns-testns [ OPTION ] datafile
توضیحات (DESCRIPTION)
از ldns-testns میتوان برای ارائه پاسخ به پرسوجوهای DNS به منظور آزمایش استفاده کرد. پاسخها از پیشآماده هستند و میتوان آنها را متناسب با نیازهای آزمایشی سفارشیسازی کرد. این پاسخها حتی میتوانند کاملاً نامعتبر یا غیرقابل تجزیه باشند.
این برنامه یک ابزار کمکی برای اشکالزدایی است. این ابزار به ویژه با یک فایل پیکربندی طولانی کارآمد نیست، اما میتواند هر پاسخی را به هر پرسوجویی ارائه دهد. این ویژگی به توسعهدهنده کمک میکند تا پاسخهای پرسوجوها را از پیش به صورت اسکریپت آماده سازد.
این ابزار به طور پیشفرض به IPv4 روی UDP و TCP گوش میدهد. میتوانید بستهای را رکورد به رکورد (RR به RR) همراه با پرچمهای سرآیند برای بازگرداندن مشخص کنید.
ابزار ldns-testns برای استفاده در محیطهای عملیاتی مناسب نیست.
گزینهها (OPTIONS)
- -r
- روی یک درگاه (پورت) تصادفی گوش میدهد. شماره درگاه در خروجی استاندارد چاپ میشود.
- -p port
- روی درگاه مشخصشده گوش میدهد.
- -f num
- این تعداد نمونه اضافی را منشعب (fork) میکند که روی همان درگاهها و با همان فایل داده سرویسدهی میکنند. آنها خارج نمیشوند؛ پیام 'forked pid: <num>' چاپ میشود و باید خودتان آنها را خاتمه دهید (kill کنید).
- -v
- اطلاعات اشکالزدایی بیشتری را در خروجی نمایش میدهد. برای افزایش سطح جزئیات، میتوان این گزینه را چندین بار مشخص کرد.
- -6
- اتصال به آدرس IPv6 به جای IPv4. همراه با -p استفاده شود.
- -l IP address
- اتصال به آدرس IPv4 یا IPv6 مشخصشده.
- -a IP address
- آدرس IPv4 یا IPv6 برای پاسخدهی همراه با دستورالعمل ADJUST change_address (به بخش زیر مراجعه کنید). این گزینه تنها در ترکیب با گزینه -l و با آدرسی از همان خانواده آدرس قابل استفاده است.
- datafile
- فایل داده در هنگام راهاندازی خوانده میشود. این فایل شامل پرسوجوها و بستههایی است که باید در پاسخ به آن پرسوجوها ارسال شوند. قالب فایل داده در ادامه شرح داده شده است.
قالب فایل داده (DATA FILE FORMAT)
قالب فایل داده از ';' برای نشان دادن توضیحات (کامنت) استفاده میکند. ورودیها به ترتیب از ابتدا تا انتها پردازش میشوند. نخستین ورودی منطبق، برای پاسخ دادن به پرسوجو استفاده میشود. این یک قالب خطمحور است. رکوردهای منبع DNS در قالب فایل ناحیه (zone-file) وارد میشوند.
میتوانید از دستورالعملهای $ORIGIN و $TTL استفاده کنید. استفاده از '(' و ')' فایل ناحیه برای ادامه در چند خط مجاز نیست.
$ORIGIN origin
$TTL default_ttl
ENTRY_BEGIN
; ابتدا خطوط MATCH مشخص میشوند که تعیین میکنند چه پرسوجوهایی
; با این ورودی مطابقت دارند.
; عبارت 'opcode' باعث تطابق پرسوجو با opcode از پاسخ میشود؛
; اگر آن را حذف کنید، هر opcode با این مدخل مطابقت خواهد داشت.
; 'qtype' پرسوجو را با qtype پاسخ مطابقت میدهد
; 'qname' پرسوجو را با qname پاسخ مطابقت میدهد
; 'serial=1023' در صورتی که شماره سریال ixfr برابر 1023 باشد تطابق میدهد.
MATCH [opcode] [qtype] [qname] [serial=<value>]
MATCH [UDP|TCP]
MATCH ...
; سپس سرآیند REPLY مشخص میشود.
REPLY opcode, rcode or flags.
(opcode) QUERY IQUERY STATUS NOTIFY UPDATE
(rcode) NOERROR FORMERR SERVFAIL NXDOMAIN NOTIMPL YXDOMAIN
YXRRSET NXRRSET NOTAUTH NOTZONE
(flags) QR AA TC RD CD RA AD
REPLY ...
; هرگونه عملیات اضافی برای انجام.
ADJUST copy_id ; 'copy_id' شناسه را از پرسوجو به پاسخ کپی میکند.
ADJUST change_id ; با شناسهای متفاوت از شناسه پرسوجو پاسخ میدهد
ADJUST change_port ; از پورتی متفاوت با پورتی که پرسوجو به آن ارسال شده بود پاسخ میدهد.
; فقط UDP (در TCP بدون خطا نادیده گرفته میشود)
ADJUST change_address ; از آدرسی متفاوت با آدرسی که پرسوجو به آن ارسال شده بود پاسخ میدهد
; فقط UDP (در TCP بدون خطا نادیده گرفته میشود)
ADJUST [sleep=<num>] ; پیش از ارائه هرگونه پاسخ درنگ میکند
; 'sleep=10' به مدت ۱۰ ثانیه پیش از ارائه پاسخ درنگ میکند
; (اتصال TCP باز میماند)
ADJUST [packet_sleep=<num>] ; پیش از ارسال این بسته در توالی درنگ میکند
SECTION QUESTION
<RRs, one per line> ; تعداد RR به صورت خودکار تعیین میشود.
SECTION ANSWER
<RRs, one per line>
SECTION AUTHORITY
<RRs, one per line>
SECTION ADDITIONAL
<RRs, one per line>
HEX_EDNSDATA_BEGIN
<Hex data of an EDNS option>
HEX_EDNSDATA_END
EXTRA_PACKET ; برای بستههای بیشتر با SECTION و REPLY دنبال میشود.
HEX_ANSWER_BEGIN ; با داده هگز دنبال میشود
; این بخش جایگزین هر بسته پاسخی میشود که با کلمات
; کلیدی SECTION ساخته شده است (تنها SECTION QUERY
; برای تطبیق پرسوجوها استفاده میشود). اگر داده نتواند
; تجزیه شود، قوانین ADJUST برای بسته پاسخ
; نادیده گرفته میشوند
HEX_ANSWER_END
ENTRY_END
نویسندگان (AUTHORS)
نوشتهشده توسط تیم ldns به عنوان نمونهای برای کاربرد ldns و برای اهداف آزمایشی.
گزارش باگها (REPORTING BUGS)
گزارش اشکالات را به <dns-team@nlnetlabs.nl> ارسال کنید.
کپیرایت (COPYRIGHT)
حق نشر © ۲۰۰۶-۲۰۰۸ شرکت NLnet Labs. این نرمافزار آزاد است. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص.
| 14 Dec 2006 |