dig/nslookup コマンドを使用して DNS 解決手順を表示する方法

dig/nslookup コマンドを使用して DNS 解決手順を表示する方法

dig - DNS ルックアップ ユーティリティ

ドメイン名のアクセス障害が発生した場合、ドメイン名の解決をチェックして、問題が誤った解決によって発生しているかどうかを判断できます。
1. ドメイン名解決の結果がない(存在しない、または保留中(実名認証されていないなど))
2. ドメイン名が間違った IP に解決される (ブロック、ハイジャック、間違った結果に応答、解決プロセスを判断する必要がある)
3. 対応するCNAMEレコードの値を解決できない
4. 解決に異常がある(複数のドメインネームサーバーを設定している場合、複数のサーバーの解決結果が一致しません。DNSサーバーに追加された解決レコードが一致しているかどうかを確認する必要があります)

www.baidu.com を簡単に分析すると、次のようになります。

ここに写真の説明を記入してください

リクエスト セグメントとレスポンス セグメントがあり、最終的に 2 つの A レコードが解析されていることがわかります。

反復クエリの dig コマンド

解析プロセス全体を追跡するには、コマンドの後に +trace を追加します。
1. ルートドメインネームサーバーは、.comの解決を担当するトップレベルドメインネームサーバーを見つけます。
2.トップレベルドメインネームサーバーからbaidu.comのセカンドレベルドメインネームサーバーを探す
3. セカンダリドメインネームサーバーは、www.baidu.comに対応するCNAMEレコードwww.a.shifen.comを見つけます。
4. www.a.shifen.comに対応するAレコードを見つける
5. 最後に、Aレコードに対応するIPアドレスを返します。

[root@jia3 ~]# www.baidu.com を dig +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.baidu.com +トレース
;; グローバルオプション: +cmd
. 320307 IN NS a.root-servers.net。
. 320307 IN NS k.root-servers.net.
. 320307 IN NS i.root-servers.net.
. 320307 IN NS l.root-servers.net。
. 320307 IN NS b.root-servers.net。
. 320307 IN NS e.root-servers.net.
. 320307 IN NS h.root-servers.net。
. 320307 IN NS d.root-servers.net。
. 320307 IN NS g.root-servers.net。
. 320307 IN NS j.root-servers.net。
. 320307 IN NS f.root-servers.net。
. 320307 IN NS m.root-servers.net。
. 320307 IN NS c.root-servers.net。
;; 202.106.0.20#53(202.106.0.20) から 98 ミリ秒で 228 バイトを受信

com. 172800 IN NS c.gtld-servers.net。
com. 172800 IN NS l.gtld-servers.net。
com. 172800 IN NS d.gtld-servers.net。
com. 172800 IN NS h.gtld-servers.net。
com. 172800 IN NS m.gtld-servers.net。
com. 172800 IN NS a.gtld-servers.net。
com. 172800 IN NS k.gtld-servers.net。
com. 172800 IN NS b.gtld-servers.net。
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net。
com. 172800 IN NS j.gtld-servers.net。
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net。
;; 192.5.5.241#53(192.5.5.241) から 93 ミリ秒で 491 バイトを受信

baidu.com。172800 IN NS dns.baidu.com。
baidu.com。172800 IN NS ns2.baidu.com。
baidu.com。172800 IN NS ns3.baidu.com。
baidu.com。172800 IN NS ns4.baidu.com。
baidu.com。172800 IN NS ns7.baidu.com。
;; 192.48.79.30#53(192.48.79.30) から 501 ミリ秒で 201 バイトを受信

www.baidu.com。1200 IN CNAME www.a.shifen.com。
a.shifen.com。1200 IN NS ns1.a.shifen.com。
a.shifen.com。1200 IN NS ns2.a.shifen.com。
a.shifen.com。1200 IN NS ns5.a.shifen.com。
a.shifen.com。1200 IN NS ns3.a.shifen.com。
a.shifen.com。1200 IN NS ns4.a.shifen.com。
;; 220.181.37.10#53(220.181.37.10) から 8 ミリ秒で 228 バイトを受信

ドメイン名が存在しない場合に、dig コマンドはどのように返されますか?

たとえば、ドメイン名 www.not-exists-domain.com は存在しません。
全体のプロセスは次のとおりです。
1. ルートドメイン名から.comトップレベルドメインのサーバーアドレスを返す
2. .comトップレベルドメインを検索してもセカンドレベルドメイン名が存在せず、SOAレコードが返される

[root@jia3 ~]# www.not-exists-domain.com を dig +trace

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.not-exists-domain.com +トレース
;; グローバルオプション: +cmd
. 319714 IN NS b.root-servers.net。
. 319714 IN NS e.root-servers.net.
. 319714 IN NS h.root-servers.net。
. 319714 IN NS d.root-servers.net。
. 319714 IN NS g.root-servers.net。
. 319714 IN NS j.root-servers.net。
. 319714 IN NS f.root-servers.net。
. 319714 IN NS m.root-servers.net。
. 319714 IN NS c.root-servers.net.
. 319714 IN NS a.root-servers.net。
. 319714 IN NS k.root-servers.net.
. 319714 IN NS i.root-servers.net.
. 319714 IN NS l.root-servers.net。
;; 202.106.0.20#53(202.106.0.20) から 105 ミリ秒で 228 バイトを受信

com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net。
com. 172800 IN NS j.gtld-servers.net。
com. 172800 IN NS l.gtld-servers.net。
com. 172800 IN NS k.gtld-servers.net。
com. 172800 IN NS g.gtld-servers.net。
com. 172800 IN NS m.gtld-servers.net。
com. 172800 IN NS a.gtld-servers.net。
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net。
com. 172800 IN NS b.gtld-servers.net。
com. 172800 IN NS f.gtld-servers.net。
com. 172800 IN NS d.gtld-servers.net。
;; 192.112.36.4#53(192.112.36.4) から 228 ミリ秒で 503 バイトを受信

com. 900 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1524576381 1800 900 604800 86400
;; 192.12.94.30#53(192.12.94.30) から 333 ミリ秒で 116 バイトを受信

nslookup - インターネットネームサーバーを対話的に照会する

nslookup は、対話型と非対話型の 2 つの方法で使用できます。

ここに写真の説明を記入してください

nslookup では、解決のためにドメイン ネーム サーバーを指定することもできます。コマンドの形式は次のとおりです。

nslookup www.baidu.com 8.8.8.8 (ドメインネームサーバーアドレス)

ここに写真の説明を記入してください

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Win2003 DNSサーバ設定方法【図解】
  • Win7+xp コマンドラインでワンクリックで IP と DNS を変更
  • Win2003 サーバーのセットアップ DNS サーバー構成図チュートリアル (詳細)
  • Windows 2003 DNS サーバーの構成 (図とテキスト)
  • Nginx DNS リゾルバの設定例
  • Windows Server 2008 R2 DNS サーバー構成のグラフィック チュートリアル
  • ネットワーク カード名を取得するためのバッチ コード (IP、ゲートウェイ、DNS を変更するためのスクリプトを含む)
  • サイトのさまざまな応答時間を取得します(DNS解決時間、応答時間、送信時間)
  • バッチ処理、IP、デフォルトゲートウェイ、DNS、WINS、IE プロキシを自動的に設定する VBS (フル)
  • Javaを使用してDNSドメイン名解決を実装する簡単な例

<<:  アイデアコンパイラvueインデントエラー問題シナリオの分析

>>:  MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

推薦する

MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)

Windows 10 プラットフォームでの MySQL のインストール、構成、起動、ログイン、環境...

MySQL 実行ステータスの表示と分析

MySQL のパフォーマンスに問題があると思われる場合は、通常、まずshow processlist...

React Hooksコンポーネント間で値を渡す方法の詳細な説明(tsを使用)

目次父から息子へ息子から父へクロスレベルコンポーネント(親から子孫)父から息子へpropsを通じて値...

不規則な絵の滝の流れ原理の分析と応用

プロジェクトで発生した不規則な絵画壁のレイアウト問題は、次のように分析されます。 1.img dis...

Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)

目次1. --skip-grant-tables 経由で取得する1.1 my.conf を変更し、新...

Docker stopはすべてのコンテナを停止/削除します

この記事では主に、すべてのコンテナを削除する Docker stop/remove を紹介し、皆さん...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

CSS でベジェ曲線の実装を反転する方法

まずは、以前書いた CSS カルーセルアニメーション効果を見てみましょう。アニメーションの遷移をスム...

display:olck/none を使用してメニューバーを作成する方法

display:bolck/none によるメニューバーの完成の効果 図 1:まず、完成したエフェク...

CentOS7 に Redis をインストールして設定する方法

導入Redis を詳しく説明する必要はありません。インストールと設定を始めましょう。インストールソー...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

HTML テーブルタグについての簡単な説明

主にその構造といくつかの重要な特性について説明します。少しずつ改善しながら紹介していきます。 1) ...

ノードをMySQLデータベースに接続する際に発生する問題と解決策

今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...

Zabbixで指定時間内の変化値を設定する方法の詳細な説明

背景説明: 既存の負荷分散装置には、付加価値状態にある指標があります (増加するだけで減少しないため...

JavaScript マクロタスクとマイクロタスク

マクロタスクとマイクロタスクJavaScript はシングルスレッド言語です (マルチスレッドの場合...