.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "NAMED-RRCHECKER" "1" "2026-08-19" "9.20.27" "BIND 9" .SH "نام (NAME)" named-rrchecker \- بررسی صحت ساختار رکوردهای منبع DNS (Resource Records) .SH "خلاصه دستور (SYNOPSIS)" .sp \fBnamed\-rrchecker\fP [\fB\-h\fP] [\fB\-o\fP origin] [\fB\-p\fP] [\fB\-u\fP] [\fB\-C\fP] [\fB\-T\fP] [\fB\-P\fP] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBnamed\-rrchecker\fP یک رکورد منبع DNS (به اختصار RR) منفرد را از ورودی استاندارد می‌خواند و درستی ساختار نحوی آن را بررسی می‌کند. .INDENT 0.0 .TP .B قالب ورودی زیرمجموعه کوچکی از قالب پرونده منطقه (Zone File) در DNS است. کل ورودی باید به صورت زیر باشد: CLASS TYPE RDATA .UNINDENT .INDENT 0.0 .IP \(bu 2 ورودی نباید با نام مالک (دامنه) آغاز شود. .IP \(bu 2 فیلد \fICLASS\fP اجباری است (معمولاً \fBIN\fP). .IP \(bu 2 فیلد \fITTL\fP \fBنباید\fP وجود داشته باشد. .IP \(bu 2 قالب RDATA برای هر نوع رکورد (RRTYPE) منحصر‌به‌فرد است. .IP \(bu 2 فاصله‌های خالی ابتدایی و انتهایی در هر فیلد نادیده گرفته می‌شوند. .UNINDENT .sp جزئیات قالب را می‌توان در \fBRFC 1035 بخش 5.1\fP \% ذیل مشخصات \fB\fP یافت. قالب \fBRFC 3597\fP \% نیز در هر یک از فیلدهای ورودی پذیرفته می‌شود. بخش مثال‌ها را ببینید. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .TP .B \-o origin این گزینه مبدأ (origin) مورد استفاده هنگام تفسیر نام‌ها در رکورد را مشخص می‌کند: مقدار پیش‌فرض آن ریشه (\fI\&.\fP) است. مبدأ مشخص‌شده همیشه به عنوان یک نام مطلق در نظر گرفته می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-p این گزینه رکورد حاصل را به شکل متعارف (canonical) چاپ می‌کند. اگر شکل متعارفی تعریف نشده باشد، رکورد در قالب رکورد ناشناخته \fBRFC 3597\fP \% چاپ می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-u این گزینه رکورد حاصل را در قالب رکورد ناشناخته \fBRFC 3597\fP \% چاپ می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-C, \-T, \-P این گزینه‌ها ورودی را نمی‌خوانند. آن‌ها کلاس‌های شناخته‌شده، نوع‌های استاندارد و نام‌های اختصاری نوع‌های خصوصی را چاپ می‌کنند. هر مورد در یک خط جداگانه چاپ می‌شود. فهرست نوع‌های خصوصی حاصل ممکن است خالی باشد. .UNINDENT .INDENT 0.0 .TP .B \-h این گزینه منوی راهنما را چاپ می‌کند. .UNINDENT .SH "مثال‌ها (EXAMPLES)" .sp به گزینه‌های خط فرمان \fI\-e\fP و \fI\-n\fP در دستور \fBecho\fP دقت ویژه داشته باشید، زیرا این گزینه‌ها بر فاصله‌های خالی در ورودی داده‌شده به \fBnamed\-rrchecker\fP تأثیر می‌گذارند. .INDENT 0.0 .TP .B echo \-n \(aqIN A 192.0.2.1\(aq | named\-rrchecker .INDENT 7.0 .IP \(bu 2 ورودی معتبر در قالب \fBRFC 1035\fP \% بدون خط جدید در انتهای ورودی. .IP \(bu 2 کد بازگشتی: 0. .UNINDENT .TP .B echo \-e \(aq\en \en IN\etA 192.0.2.1 \et \en\en \(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر به همراه فاصله‌های خالی در ابتدا و انتها. .IP \(bu 2 خروجی: \fBIN A 192.0.2.1\fP .IP \(bu 2 فاصله‌های خالی ابتدایی و انتهایی بخشی از خروجی نخواهند بود. .UNINDENT .UNINDENT .SS "نام‌های نسبی و مبدأ (origin)" .INDENT 0.0 .TP .B echo \(aqIN CNAME target\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر با یک نام نسبی به عنوان مقصد CNAME. .IP \(bu 2 خروجی: \fBIN CNAME target.\fP .IP \(bu 2 نام نسبی \fItarget\fP از ورودی، با استفاده از مبدأ پیش‌فرض \fB\&.\fP (ریشه) به یک نام مطلق تبدیل می‌شود. .UNINDENT .TP .B echo \(aqIN CNAME target\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر با یک نام نسبی به عنوان مقصد CNAME. .IP \(bu 2 خروجی: \fBIN CNAME target.origin.test.\fP .IP \(bu 2 نام نسبی \fItarget\fP از ورودی، با استفاده از مبدأ مشخص‌شده \fBorigin.test\fP به یک نام مطلق تبدیل می‌شود. .UNINDENT .TP .B echo \(aqIN CNAME target.\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر با یک نام مطلق به عنوان مقصد CNAME. .IP \(bu 2 خروجی: \fBIN CNAME target.\fP .IP \(bu 2 اگر \fItarget\fP در ورودی از قبل مطلق باشد، مبدأ مشخص‌شده هیچ اثری نخواهد داشت. .UNINDENT .UNINDENT .SS "نویسه‌های ویژه" .sp نویسه‌های ویژه‌ای که طبق \fBRFC 1035 بخش 5.1\fP \% در پرونده‌های منطقه مجاز هستند، پذیرفته می‌شوند. .INDENT 0.0 .TP .B echo \(aqIN CNAME t\e097r\eget\e.\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر به همراه گریز با بک‌اسلش (backslash escapes). .IP \(bu 2 خروجی: \fBIN CNAME target\e..origin.test.\fP .IP \(bu 2 مقدار \fB\e097\fP نشان‌دهنده یک مقدار ده‌دهی اسکی (ASCII) است که در این مثال، نویسه \fBa\fP می‌باشد. .IP \(bu 2 مقدار \fB\eg\fP به یک \fBg\fP ساده تبدیل می‌شود زیرا نویسه \fBg\fP معنای خاصی ندارد و بنابراین پیشوند \fB\e\fP در این حالت کاری انجام نمی‌دهد. .IP \(bu 2 مقدار \fB\e.\fP نشان‌دهنده یک نقطه لفظی اسکی است (در اینجا به عنوان بخشی از نام مقصد CNAME). معنای ویژه \fB\&.\fP به عنوان جداکننده برچسب DNS توسط پیشوند \fB\e\fP قبل از آن غیرفعال شده است. .UNINDENT .TP .B echo \(aqIN CNAME @\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر با استفاده از \fB@\fP به عنوان ارجاع به مبدأ مشخص‌شده. .IP \(bu 2 خروجی: \fBIN CNAME origin.test.\fP .UNINDENT .TP .B echo \(aqIN CNAME \e@\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر با یک نویسه \fB@\fP لفظی (گریز داده‌شده). .IP \(bu 2 خروجی: \fBIN CNAME \e@.origin.test.\fP .UNINDENT .TP .B echo \(aqIN CNAME prefix.@\(aq | named\-rrchecker \-p \-o origin.test .INDENT 7.0 .IP \(bu 2 ورودی معتبر با استفاده از \fB@\fP به عنوان ارجاع به مبدأ مشخص‌شده. .IP \(bu 2 خروجی: \fBIN CNAME prefix.\e@.origin.test.\fP .IP \(bu 2 نویسه \fB@\fP تنها در صورتی معنای خاصی دارد که به صورت مستقل (free\-standing) باشد. .UNINDENT .TP .B echo \(aqIN A 192.0.2.1; comment\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر به همراه یک توضیح انتهایی. به نبود فاصله قبل از شروع توضیح توجه کنید. .IP \(bu 2 خروجی: \fBIN A 192.0.2.1\fP .UNINDENT .UNINDENT .sp برای مثال‌های چندخطی، بخش بعدی را ببینید. .SS "رکوردهای چندتوکنی (Multi-token records)" .INDENT 0.0 .TP .B echo \-e \(aqIN TXT two words \en\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 رکورد منبع TXT معتبر با دو کلمه بدون نقل‌قول و فاصله در انتها. .IP \(bu 2 خروجی: \fBIN TXT \(dqtwo\(dq \(dqwords\(dq\fP .IP \(bu 2 دو کلمه بدون نقل‌قول در ورودی طبق \fBRFC 1035 بخش 3.3.14\fP \% به عنوان دو \fI\fP در نظر گرفته می‌شوند. .IP \(bu 2 فاصله‌های خالی انتهایی از آخرین \fI\fP حذف می‌شوند. .UNINDENT .TP .B echo \-e \(aqIN TXT \(dqtwo words\(dq \en\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 رکورد منبع TXT معتبر با یک \fIcharacter\-string\fP و فاصله در انتهای آن. .IP \(bu 2 خروجی: \fBIN TXT \(dqtwo words\(dq\fP .UNINDENT .TP .B echo \-e \(aqIN TXT \(dqproblematic newline\en\(dq\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- علامت نقل‌قول پایانی \fB\(dq\fP قبل از پایان خط تشخیص داده نشده است. .UNINDENT .TP .B echo \(aqIN TXT \(dqwith newline\e010\(dq\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر به همراه یک نویسه خط جدید گریز داده‌شده داخل \fIcharacter\-string\fP. .IP \(bu 2 خروجی: \fBIN TXT \(dqwith newline\e010\(dq\fP .UNINDENT .TP .B echo \-e \(aqIN TXT ( two\enwords )\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی چندخطی معتبر با ادامه‌یافتن خط مجاز در داخل پرانتزهای اختیاری در فیلد RDATA. .IP \(bu 2 خروجی: \fBIN TXT \(dqtwo\(dq \(dqwords\(dq\fP .UNINDENT .TP .B echo \-e \(aqIN TXT ( two\enwords ; misplaced comment )\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- توضیحات (که با \(dq;\(dq آغاز می‌شوند) توسط تجزیه‌کننده نادیده گرفته می‌شوند، بنابراین پرانتز بسته باید قبل از نقطه‌ویرگول قرار گیرد. .UNINDENT .TP .B echo \-e \(aqIN TXT ( two\enwords ; a working comment\en )\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر \- توضیح با یک خط جدید پایان یافته است. .IP \(bu 2 خروجی: \fBIN TXT \(dqtwo\(dq \(dqwords\(dq\fP .UNINDENT .TP .B echo \(aqIN HTTPS 1 . alpn=\(dqh2,h3\(dq\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 رکورد HTTPS معتبر. .IP \(bu 2 خروجی: \fBIN HTTPS 1 . alpn=\(dqh2,h3\(dq\fP .UNINDENT .TP .B echo \-e \(aqIN HTTPS ( 1 \en . \en alpn=\(dqdot\(dq)port=853\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 رکورد HTTPS معتبر با زیرفیلدهای مجزا که با استفاده از نحو پرانتز \fBRFC 1035 بخش 5.1\fP \% در چند خط تقسیم شده‌اند تا داده‌هایی که از مرز یک خط عبور می‌کنند را گروه‌بندی کند. .IP \(bu 2 به نبود فاصله خالی بین پرانتز بسته و توکن‌های مجاور توجه کنید. .IP \(bu 2 خروجی: \fBIN HTTPS 1 . alpn=\(dqdot\(dq port=853\fP .UNINDENT .UNINDENT .SS "مدیریت نوع‌های ناشناخته" .INDENT 0.0 .TP .B echo \(aqIN A 192.0.2.1\(aq | named\-rrchecker \-u .INDENT 7.0 .IP \(bu 2 ورودی معتبر در قالب \fBRFC 1035\fP \%. .IP \(bu 2 خروجی در قالب \fBRFC 3957\fP \%: \fBCLASS1 TYPE1 \e# 4 C0000201\fP .UNINDENT .TP .B echo \(aqCLASS1 TYPE1 \e# 4 C0000201\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر در قالب \fBRFC 3597\fP \%. .IP \(bu 2 خروجی در قالب \fBRFC 1035\fP \%: \fBIN A 192.0.2.1\fP .UNINDENT .TP .B echo \(aqIN A \e# 4 C0000201\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر با کلاس و نوع در قالب \fBRFC 1035\fP \% و rdata در قالب \fBRFC 3597\fP \%. .IP \(bu 2 خروجی در قالب \fBRFC 1035\fP \%: \fBIN A 192.0.2.1\fP .UNINDENT .TP .B echo \(aqIN HTTPS 1 . key3=\e001\e000\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی معتبر با نحو \fBRFC 9460\fP \% برای فیلد ناشناخته \fIkey3\fP. نحو \fB\e001\e000\fP دو بایت (اکتت) به ترتیب با مقادیر 1 و 0 ایجاد می‌کند. .IP \(bu 2 خروجی: \fBIN HTTPS 1 . port=256\fP .IP \(bu 2 فیلد \fIkey3\fP با نام کلید استاندارد \fIport\fP مطابقت دارد. .IP \(bu 2 بایت‌های 1 و 0 به عنوان مقادیر عدد صحیح با ترتیب بایت بزرگ‌انتها (big\-endian) رمزگشایی شدند. .UNINDENT .TP .B echo \(aqIN HTTPS 1 . key3=\e001\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- طول مقدار برای \fIkey3\fP (یعنی port) با قالب استاندارد شناخته‌شده برای آن پارامتر در نوع رکورد منبع SVCB مطابقت ندارد. .UNINDENT .TP .B echo \(aqIN HTTPS 1 . port=\e001\e000\(aq | named\-rrchecker \-p .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- کلید \fIport\fP، زمانی که با استفاده از نام اختصاری استاندارد خود مشخص می‌شود، \fBباید\fP از نحو استاندارد و مختص آن کلید استفاده کند. .UNINDENT .UNINDENT .SS "مقادیر متا (Meta values)" .INDENT 0.0 .TP .B echo \(aqIN AXFR\(aq | named\-rrchecker .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- مقدار AXFR یک نوع متا (meta type) است، نه یک نوع رکورد منبع (RRTYPE) واقعی. .UNINDENT .TP .B echo \(aqANY A 192.0.2.1\(aq | named\-rrchecker .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- مقدار ANY یک کلاس متا (meta class) است، نه یک کلاس واقعی. .UNINDENT .TP .B echo \(aqA 192.0.2.1\(aq | named\-rrchecker .INDENT 7.0 .IP \(bu 2 ورودی نامعتبر \- فیلد کلاس وجود ندارد، بنابراین تجزیه‌کننده تلاش می‌کند نوع رکورد منبع A را به عنوان کلاس تفسیر کند و با شکست مواجه می‌شود. .UNINDENT .UNINDENT .SH "کدهای بازگشتی (RETURN CODES)" .INDENT 0.0 .TP .B 0 کل ورودی به عنوان یک رکورد منبع با ساختار نحوی معتبر تجزیه شد. .TP .B 1 ورودی یک رکورد منبع با ساختار نحوی معتبر نیست، یا نوع داده‌شده پشتیبانی نمی‌شود، یا یکی از کلاس یا نوع (یا هر دو) مقادیر متا هستند که نباید در پرونده‌های منطقه ظاهر شوند. .UNINDENT .SH "همچنین ببینید (SEE ALSO)" .sp \fBRFC 1034\fP \%, \fBRFC 1035\fP \%, \fBRFC 3957\fP \%, \fBnamed(8)\fP \%<#\:std-iscman-named>\&. .SH "نویسندگان (AUTHORS)" Internet Systems Consortium .SH "کپی‌رایت (COPYRIGHT)" 2026, Internet Systems Consortium .\" End of generated man page.