DNS (dns)
- レイヤ: アプリケーション・制御
- ヘッダ: 可変長
- 補足: アプリケーションプロトコル
下位レイヤからの到達
| 下位レイヤ | 判別フィールド | 値 |
|---|---|---|
udp | dst_port / src_port | 53 (0x0035) |
フィールド
| フィールド | 型 | 既定値 | Auto | 説明 |
|---|---|---|---|---|
id | uint(16) | 4660 | クエリ識別子 (応答にコピーされる)。 | |
qr | enum(1) | 0 (query) | クエリ (0) または応答 (1)。 | |
opcode | enum(4) | 0 (query) | クエリ種別 (0 = 標準クエリ、4 = NOTIFY、5 = UPDATE)。 | |
aa | uint(1) | 0 | 権威応答フラグ。 | |
tc | uint(1) | 0 | 切り詰め (トランケーション) フラグ。 | |
rd | uint(1) | 1 | 再帰要求フラグ。 | |
ra | uint(1) | 0 | 再帰可能フラグ。 | |
z | uint(1) | 0 | 予約ビット (0 でなければならない)。 | |
ad | uint(1) | 0 | 認証済みデータフラグ (DNSSEC)。 | |
cd | uint(1) | 0 | 検証無効フラグ (DNSSEC)。 | |
rcode | enum(4) | 0 (no_error) | 応答コード (0 = NOERROR、3 = NXDOMAIN など)。 | |
qdcount | uint(16) | 1 | 質問セクションのエントリ数。 | |
ancount | uint(16) | 0 | 回答セクションのリソースレコード数。 | |
nscount | uint(16) | 0 | 権威セクションのリソースレコード数。 | |
arcount | uint(16) | 0 | 追加セクションのリソースレコード数。 | |
sections | bytes — PDU の残りすべて | 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00 01 | 質問 / 回答 / 権威 / 追加セクション (長さ付きラベル形式の名前)。不透明なオクテット列。 |
qr
| 値 | 名前 |
|---|---|
| 0 | query |
| 1 | response |
opcode
| 値 | 名前 |
|---|---|
| 0 | query |
| 1 | iquery |
| 2 | status |
| 4 | notify |
| 5 | update |
rcode
| 値 | 名前 |
|---|---|
| 0 | no_error |
| 1 | format_error |
| 2 | server_failure |
| 3 | nx_domain |
| 4 | not_implemented |
| 5 | refused |
制約
| レベル | 規則 |
|---|---|
| 警告 | z が 0 |
| 警告 | ヘッダとペイロードが 512 オクテット以下 |
サンプルテンプレート
- dns-query —
templates/protocols/app/dns-query.wpg.yaml - dns-response —
templates/protocols/app/dns-response.wpg.yaml