DNSの例
(実際のパケットダンプを使った説明)
2001111
上牧瀬
DNSプロトコルフォーマット
ヘッダ
(必須)
質問
(ネームサーバ宛ての質問)
回答
(質問への回答としてのリソースレコード)
オーソリティ
(オーソリティをポイントするリソースレコード)
追加情報
(追加情報をもつリソースレコード)
DNSメッセージはUDPプロトコルで運ばれる
53番のポートが使われる
メッセージタイプにより空になるセクションもある
ヘッダ
識別 Opecode
質問の数 回答の数
オーソリティの数 追加情報の数
Q
RRCode
T
CR
DR
A
A
A未使用
0 16 3124
識別 問い合わせを生成するシステムが割り当てる固有の番号
QR 問い合わせ(0),応答(1)
Opecode 問い合わせのタイプ
AA 応答が正式なものである
TC メッセージが短縮されている
RD 問い合わせホストが再帰問い合わせを希望
RA 再帰サービスをネームサーバが希望できる
Rcode エラーの種類
質問
QName
(可変長)
QType QClass
0 16 31
QName 問い合わせの対象ドメイン名
QType 問い合わせのタイプ
QClass 問い合わせのクラス
実際の例
roottcpdumpを実行
tcpdump xX s 1000 host kamimakise and
port 53
次のpingコマンドを実行
ping yahoo.co.jp
IPアドレスがわからないのでDNS(yumi)
yahoo.co.jpIPアドレスを問い合わせる
実際の例(IPヘッダ)
4 バージョン
5 ヘッダ長
00 サービスタイプ
0039 パケット長(57オクテット)
d470 識別子
0000 フラグ,フラグメントオフセット
40 生存時間
11 プロトコル(UDP)
e2ae チェックサム
c0a82143 送信元IPアドレス(192.168.33.67(kamimakise))
c0a82101 宛先IPアドレス(192.168.33.1(yumi))
実際の例(UDPヘッダ)
04bd 送信元ポート(1243)
0035 宛先ポート(53)
0025 長さ(37オクテット)
5bd3 チェックサム
実際の例(DNSヘッダ)
2622 識別子
0100 標準問い合わせ,再帰希望,エラーなし
0001 質問の数(1)
0000 回答の数(なし)
0000 オーソリティの数(なし)
0000 追加情報の数(なし)
実際の例(DNSデータ)
057961686f6f 5オクテット(yahoo)
02636f 2オクテット(co)
026a70 2オクテット(jp)
00 ヌルラベル(終了)
0001 ホストアドレスの問い合わせ
0001 インターネットシステム
実際の例(応答パケット)
実際の例(応答パケットの内容)
質問 1
yahoo.co.jp
回答 8
d2519946 210.81.153.70
d298ec32 210.152.236.50
d28cc810 210.140.200.16
d298ec6f 210.152.236.111
d298ec70 210.152.236.112
d298ec71 210.152.236.113
d2519944 210.81.153.68
d2519945 210.81.153.69
実際の例(応答パケットの内容)
オーソリティ 3
dns1.yahoo.co.jp
dnsn201.yahoo.co.jp
ns.tokyonet.ad.jp
追加情報 3
d28cc832 210.140.200.50
cae5c678 202.229.198.120
caef3d3d 202.239.61.61