Skip to content

ldns-testns(1)

ldns-testns

Section: User Commands (1)
Updated: 14 Dec 2006


名前

ldns-testns - 簡易的な偽ネームサーバ ツール

SYNOPSYS

ldns-testns [ OPTION ] datafile

説明

ldns-testnsは試験用のDNSクエリーに回答を提供するために使われます。回答は事前に作られており、試験の必要性に合わせることができます。回答は失敗あるいは解析不能になります。

このプログラムはデバッギングが目的です。特に長い設定ファイルでは効率はよくないです。しかし、どんなクエリーに対するどんな回答も与えることができます。これは開発者がクエリーに対する事前に用意したスクリプトで返答するのに役に立ちます。

デフォルトではIPv4のUDPとTCPで待ち受けます。返すヘッダ フラグを持つRRでパケットのRRを指定することができます。

ldns-testnsは製品としての利用を意味しません。

オプション

-r
ランダム ポートで待ち受けます。ポート番号は標準出力に表示されます。
-p port
指定したポートで待ち受けます。
-f num
同じポートと同じデータファイルを提供する追加のインスタンスをこの数のぶんだけフォークします。これらは終了しません。'forked pid: <num>'と出力されるので、自分でそれらをkillする必要があります。
-v
より多くのデバッグ情報を出力します。饒舌さのレベルを増やすにはこのオプションを複数回与えます。
-6
IPv4の代わりにIPv6アドレスにバインドします。-pオプションと一緒に使います。
datafile
このデータファイルは起動時に読み込まれます。クエリーとそれらのクエリーの回答で送られるパケットを含みます。データファイルの形式は以下で説明します。

データファイルの形式

データファイルの形式はコメントを与えるために';'を持ちます。エントリーの数は最初から最後まで処理されます。最初に一致したエントリーはクエリーに回答するために使われます。これは行ベースの形式です。DNSリソース レコードはゾーンファイル形式で入力されます。

$ORIGINと$TTLディレクティブを使うことができます。複数行に拡張するためのゾーンファイルの記法'('と')'は許可されていません。

$ORIGIN origin $TTL default_ttl

ENTRY_BEGIN

; first give MATCH lines, that say what queries are matched ; by this entry. ; 'opcode' makes the query match the opcode from the reply ; if you leave it out, any opcode matches this entry. ; 'qtype' makes the query match the qtype from the reply ; 'qname' makes the query match the qname from the reply ; 'serial=1023' makes the query match if ixfr serial is 1023.

MATCH [opcode] [qtype] [qname] [serial=<value>] MATCH [UDP|TCP] MATCH ...

; Then the REPLY header is specified.

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 ...

; any additional actions to do.

ADJUST copy_id ; 'copy_id' copies the ID from the query to the answer.

; 'sleep=10' sleeps for 10 seconds before giving the answer (TCP is open)

ADJUST [sleep=<num>] ; sleep before giving any reply ADJUST [packet_sleep=<num>] ; sleep before this packet in sequence

SECTION QUESTION <RRs, one per line> ; the RRcount is determined automatically.

SECTION ANSWER <RRs, one per line>

SECTION AUTHORITY <RRs, one per line>

SECTION ADDITIONAL <RRs, one per line>

EXTRA_PACKET ; follow with SECTION, REPLY for more packets. HEX_ANSWER_BEGIN ; follow with hex data
                        ; this replaces any answer packet constructed
                        ; with the SECTION keywords (only SECTION QUERY
                        ; is used to match queries). If the data cannot
                        ; be parsed, ADJUST rules for the answer packet
                        ; are ignored

HEX_ANSWER_END

ENTRY_END

著者

Written by the ldns team as an example for ldns usage, and for testing purposes.

バグの報告の仕方

<ldns-team@nlnetlabs.nl>にバグを報告してください。

著作権

Copyright (C) 2006-2008 NLnet Labs. これはフリーソフトウェアです。無保証です。特定の目的のためへの品質や適合さえありません。