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 でパスワードを忘れた場合の解決方法の詳細な説明

推薦する

js における浅いコピーと深いコピーの詳細な説明

目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...

Linux システムで grub.cfg ファイルの破損を修復する手順

目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...

TypeScript の基本型の紹介

目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...

Docker を使用した Redis マスタースレーブレプリケーションの実践の詳細説明

目次1. 背景2. 操作手順3. Dockerをインストールする4. 主なサービス構成5. サービス...

docker で PostgreSQL データベースをインストールして永続化する方法

Dockerのインストール手順をスキップする1. postgresqlイメージを取得する docke...

MySQLでよく使われるSQLとコマンドの入力からデータベースの削除、そして終了まで

目次開始と停止データベース関連の操作データベーステーブル関連の操作制約関連デフォルトの制約高度なデー...

MySQL はどのようにしてマルチバージョンの同時実行性を実現するのでしょうか?

目次MySQL マルチバージョン同時実行1. マルチバージョン同時実行制御1. 一貫した読み取り2....

MySQL はどのようにしてマスターとスレーブの同期を実現するのでしょうか?

マスタースレーブ同期 (マスタースレーブレプリケーションとも呼ばれる) は、マスタースレーブデータの...

Dockerコンテナ内にkibanaトークナイザーをインストールする方法

ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...

MySQL の一般的な SQL ステートメントの概要

1. mysqlエクスポートファイル: SELECT `pe2e_user_to_company`....

Dockerをクリーンアンインストールする方法の詳細な説明

まず、サーバー環境情報: アンインストールの理由:しばらくするとホストマシンのディスクが100%にな...

フロントエンド プロジェクトのデフォルトのスクロール バー スタイルを変更する (概要)

スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...

JavaScript ES6 モジュールの詳細な説明

目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

GoのDockerデプロイメント用の基本イメージ2つの実装

1. golang:最新のベースイメージ mkdir gotest タッチメイン.go Docker...