Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dnsdiag — DNSの計測、トラブルシューティング、およびセキュリティ監査ツールセット | Kitploit
ツール/GitHubGitHub/farrokhi/dnsdiag
偵察ネットワークマッピング脆弱性分析情報収集ネットワークセキュリティDNS分析DNS分析 第1位
GitHubfarrokhi/dnsdiag

dnsdiag

DNSの計測、トラブルシューティング、およびセキュリティ監査ツールセット

リポジトリを見る
1.1k111537日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

PyPI PyPI Downloads Downloads PyPI Docker Pulls GitHub stars

DNS 測定、トラブルシューティング、セキュリティ監査ツールセット

あなたの ISP が DNS トラフィックを傍受しているのではないかと考えたことはありませんか? DNS 応答に異常な挙動を感じたり、誤ったアドレスにリダイレクトされて DNS に何か問題があるのではないかと疑ったことはありませんか?私たちは、DNS リクエストと応答に対して基本的な監査を実行し、DNS が期待通りに機能していることを確認するためのツールスイートを提供しています。

dnsping を使えば、任意のクエリに対する任意の DNS サーバーの応答時間を測定できます。通常の ping ユーティリティと同様に、dnsping は DNS リクエストに対して同等の機能を提供し、サーバーの応答性を監視するのに役立ちます。

また、dnstraceroute を使って DNS リクエストの宛先までの経路を追跡し、リダイレクトや傍受が行われていないことを確認できます。同じサーバーに送信された DNS クエリを比較することで、dnstraceroute は経路の違いを観察でき、潜在的な問題に気付くことができます。

dnseval は複数の DNS リゾルバを評価し、ネットワークに最適な DNS リゾルバを選択するのに役立ちます。サードパーティの DNS リゾルバへの依存を避けるために独自の DNS リゾルバを使用することを推奨しますが、必要な場合には dnseval が最適な DNS リゾルバの選択を支援します。パフォーマンス(レイテンシ)と信頼性(パケットロス)に基づいて DNS サーバーを比較でき、情報に基づいた意思決定のための包括的な視点を提供します。

インストール

このツールセットを使用する方法はいくつかありますが、最適な柔軟性と制御のためにソースコードから直接実行することを推奨します。ソースからの実行または pip でのインストールには Python 3.11 以降が必要です。

ソースコード

  1. git リポジトリをチェックアウトし、依存関係をインストールします:
git clone https://github.com/farrokhi/dnsdiag.git
cd dnsdiag
pip3 install -r requirements.txt
  1. あるいは、pip を使ってパッケージをインストールすることもできます:
pip3 install dnsdiag

uv の使用(推奨)

uv は、インストールせずにツールを直接実行できる高速な Python パッケージマネージャーです:

# インストールせずに dnsping を直接実行
uvx --from dnsdiag dnsping google.com

# 特定のオプションを指定して実行
uvx --from dnsdiag dnsping -c 5 --tls -s 8.8.8.8 example.com

# dnstraceroute を実行
uvx --from dnsdiag dnstraceroute cloudflare.com

# dnseval を実行
uvx --from dnsdiag dnseval -f public-servers.txt github.com

dnsdiag を永続的にインストールするには:

# dnsdiag ツールをインストール
uv tool install dnsdiag

# 最新バージョンにアップグレード
uv tool upgrade dnsdiag

バイナリパッケージ

時折、Windows、Mac OS X、Linux 向けのバイナリパッケージがリリースされます。最新リリースは releases ページから入手できます。

対応プラットフォーム

ビルド済みバイナリは以下で利用可能です:

  • Linux (x86_64, ARM64)
  • macOS (Intel, Apple Silicon)
  • Windows (x86_64)

Windows ARM64 は現在サポートされていません。これは、ビルド依存関係が容易には入手できないネイティブコンパイルツールチェーンを必要とするためです。ARM 上の Windows を使用している場合は、Windows Subsystem for Linux (WSL2) を使って dnsdiag を実行するか、ソースから直接インストールできます。

Docker

ローカルマシンに dnsdiag をインストールしたくない場合は、Docker イメージを使ってコンテナ化された環境でツールを実行できます。例えば:

docker run --network host -it --rm farrokhi/dnsdiag dnsping.py

dnsping

dnsping は、任意の DNS クエリを複数回送信することで DNS リゾルバを「ping」できます。サポートされているコマンドラインオプションの完全なリストは --help を使用してください。以下はいくつかの主要なフラグです:

  • --tcp、--tls、--doh、--quic、--http3 を使ってトランスポートプロトコルを選択します(デフォルトは UDP)。これらのオプションは相互排他的で、コマンドごとに指定できるプロトコルは 1 つだけです。
  • --flags を使って、各応答の応答フラグ(EDNS フラグを含む)を表示します。
  • --dnssec を使って、利用可能な場合は DNSSEC 検証を要求します。
  • Extended DNS Error メッセージ(RFC 8914)は存在する場合に自動的に表示されます。
  • --nsid を使って、利用可能な場合は Name Server Identifier (NSID) を表示します(RFC 5001)。
  • --ecs を使って、地理的ルーティング最適化のための EDNS Client Subnet 情報を含めます。
  • --cookie を使って、応答に存在する場合に DNS クッキー(RFC 7873)を表示します。
./dnsping.py -c 5 --dnssec --flags --tls -t AAAA -s 8.8.8.8 brokendnssec.net
dnsping.py DNS: 8.8.8.8:853, hostname: brokendnssec.net, proto: TLS, class: IN, type: AAAA, flags: [RD]
75  bytes from 8.8.8.8: seq=1   time=73.703 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=2   time=69.523 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=3   time=58.058 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=4   time=54.235 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]
75  bytes from 8.8.8.8: seq=5   time=57.806 ms  SERVFAIL [QR RD RA -- DO] [EDE:10("For brokendnssec.net/soa")]

--- 8.8.8.8 dnsping statistics ---
5 requests transmitted, 5 responses received, 0% lost
min=54.235 ms, avg=22.665 ms, max=69.523 ms, stddev=38.202 ms

dnsping は、最小、最大、平均応答時間に加えて、ジッター(標準偏差)やパケットロスなどの統計も提供します。

dnsping のいくつかの興味深いユースケースを以下に示します:

  • 異なるトランスポートプロトコル(例:UDP と DoH)間の応答時間の比較。
  • ジッターとパケットロスを測定することによる DNS サーバーの信頼性の評価。
  • --dnssec フラグを使って DNSSEC を有効にした応答時間の測定。
  • 地理位置情報を考慮した応答のための EDNS Client Subnet の挙動のテスト:
./dnsping.py -c 3 --ecs 203.0.113.0/24 -s 94.140.14.14 google.com
dnsping.py DNS: 94.140.14.14:53, hostname: google.com, proto: UDP, class: IN, type: A, flags: [RD]
66  bytes from 94.140.14.14: seq=1   time=31.407 ms  NOERROR [ECS:203.0.113.0/24/24]
66  bytes from 94.140.14.14: seq=2   time=29.156 ms  NOERROR [ECS:203.0.113.0/24/24]
66  bytes from 94.140.14.14: seq=3   time=30.892 ms  NOERROR [ECS:203.0.113.0/24/24]

--- 94.140.14.14 dnsping statistics ---
3 requests transmitted, 3 responses received, 0% lost
min=29.156 ms, avg=30.485 ms, max=31.407 ms, stddev=1.176 ms
  • NSID オプションを使った DNS サーバーの識別:
./dnsping.py -c 2 --nsid -s 8.8.8.8 google.com
dnsping.py DNS: 8.8.8.8:53, hostname: google.com, proto: UDP, class: IN, type: A, flags: [RD]
68  bytes from 8.8.8.8: seq=1   time=36.399 ms  NOERROR [NSID:gpdns-ams]
68  bytes from 8.8.8.8: seq=2   time=32.156 ms  NOERROR [NSID:gpdns-ams]

--- 8.8.8.8 dnsping statistics ---
2 requests transmitted, 2 responses received, 0% lost
min=32.156 ms, avg=34.278 ms, max=36.399 ms, stddev=2.122 ms
  • セキュリティ強化とキャッシュ最適化のための DNS クッキーのテスト:
./dnsping.py -c 2 --cookie -s anyns.pch.net quad9.net
dnsping.py DNS: anyns.pch.net:53, hostname: quad9.net, proto: UDP, class: IN, type: A, flags: [RD]
82  bytes from anyns.pch.net: seq=1   time=30.552  ms  NOERROR [COOKIE:27f609c017bb2ec4ea70de5c68eec3fc39f6a53ee49c55f8]
82  bytes from anyns.pch.net: seq=2   time=24.794  ms  NOERROR [COOKIE:719631dd9fcce722d3ac859b68eec3fd2e5430b5c8a7f8cf]

--- anyns.pch.net dnsping statistics ---
2 requests transmitted, 2 responses received, 0% lost
min=24.794 ms, avg=27.673 ms, max=30.552 ms, stddev=4.072 ms

DNSSEC およびセキュリティ関連フラグの解釈

--dnssec と --flags を使用すると、dnsping は DNS セキュリティ検証に直接関連する DNS プロトコルフィールドを公開します。これらの値は、リゾルバが DNSSEC を検証できるかどうか、および応答が正常に検証されたかどうかを示します。

一般的なフラグ:

  • DO (DNSSEC OK)
    クライアントが DNSSEC 関連のレコードを要求していることを示します。この存在は、リゾルバが DNSSEC クエリをサポートしていることを示します。

  • AD (Authenticated Data)
    応答が DNSSEC を使用して暗号学的に検証された場合に、検証を行うリゾルバによって設定されます。これは DNSSEC 検証が有効で成功していることを示す強いシグナルです。

典型的なパターン:

結果意味
AD フラグ付きの NOERRORDNSSEC 検証が成功
DO フラグ付きの SERVFAILDNSSEC 検証が失敗(多くの場合、壊れた署名や設定ミスが原因)
AD フラグが存在しないリゾルバが DNSSEC 検証を実行していない

Extended DNS Errors (EDE, RFC 8914) は、DNSSEC 検証が失敗したときに追加の診断情報を提供します。例えば:

  • EDE:10 – DNSSEC Bogus(無効または壊れた DNSSEC データ)
  • EDE:6 – DNSSEC Signature Expired
  • EDE:7 – DNSSEC Signature Not Yet Valid

これらの指標により、dnsping はパフォーマンステストだけでなく、リゾルバが DNSSEC を正しく適用しているかどうかの検証や、DNSSEC 展開の問題の診断にも役立ちます。

dnstraceroute

dnstraceroute は、DNS リクエストの宛先までの経路を追跡するユーティリティです。実際のネットワーク traceroute と比較して、DNS トラフィックが望ましくない経路を通っていないことを確認したい場合に役立ちます。

ツールをダウンロード