troushoo

Wireshark を用いたDNS のトラブルシューティング方法

概要

Wireshark を用いた、DNS のトラブルシューティング方法を紹介します。
・時間がかかったDNS クエリを簡単に調べる方法
・エラーのDNS クエリのみを表示する方法

内容

時間がかかったDNS クエリを簡単に調べる方法
ネットワーク性能の問題の原因が、”DNS のクエリに時間がかかっているため”という事があります。
Wireshark を利用すれば、時間がかかったDNS クエリを簡単に調べる事ができます。

1. 任意の、「DNS」の「Standard query response」の列をクリックします。
「Standard query response」の列は、DNS クエリのレスポンスのパケットを表します。


2. 「Domain Name System」の「Time」がDNS クエリにかかった時間を表します。


3. 列に表示させるため、「Time」の部分を右クリックし、「Apply as Column」をクリックします。


4. 作成された「Time」の列をクリックし、降順にソートします。


5. 「Go to the first packet」をクリックし、一番上に表示されているパケットに移動します。


6. 上から、DNS クエリに時間がかかったパケットが表示されています。

エラーのDNS クエリのみを表示する方法
DNS のエラーのみを表示することで、DNS に問題があるかどうかの調査に役に立ちます。

1. 任意の「Standard query response」の列をクリックします。
「Standard query response」の列は、DNS クエリのレスポンスのパケットを表します。


2. 「Domain Name System」の「Flags」の「Reply code」がDNS サーバーから返されたエラーコードです。
このコードが0 の場合が”エラーがなし” という事です。


3. Reply code が0 以外のみを表示するため、「dns.flags.rcode > 0」フィルターを設定します。
すると、DNS のエラーのみが表示されます。
以下のスクリーンショットでは、エラーコードが3 である”名前がなかった” (= No such name) が返されていることがわかります。


4. レスポンスに対応するクエリを表示させるには、いったんフィルターを空白にし解除した後、「Request In」の部分をクリックします。


5. 対応するクエリが選択されます。
以下のスクリーンショットでは、エラーが発生したDNS クエリは「abcdefg.mshome.net」に対するDNS クエリであったことがわかりました。



情報元
Detect DNS Delays with Wireshark (英語)
Detect DNS Errors with Wireshark (英語)

関連記事
Wireshark を用いたSMB のトラブルシューティングに使える5つのテクニック


  1. 2015/01/25(日) 22:19:47|
  2. ネットワーク
  3. | トラックバック:0
  4. | コメント:0
<<WinAPIOverride:API コールの引数・戻り値の確認や、API の上書きが可能なオープンソースのツール (1) | ホーム | Visual Studio のコードスニペットを簡単に作る方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/220-7e219081
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (23)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する