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

推薦する

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

非常に実用的なTomcat起動スクリプトの実装方法

序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

JS+Canvas が抽選ホイールを引く

この記事では、宝くじターンテーブルを描画するJS + Canvasの具体的なコードを参考までに共有し...

docker mysqlの起動時に初期化SQLを実行する

1.Mysqlイメージを取得するdocker pull mysql:5.7 2. MySQLイメージ...

Nexus を使用して jar パッケージをプライベート サーバーに追加する方法

なぜ Nexus プライベート サーバーを構築する必要があるのでしょうか。その理由は非常に簡単です。...

Mac VMware Fusion CentOS7 静的 IP 構成チュートリアル図

目次CentOS7をインストールする静的IPの設定viを使用してファイルを編集するCentOS7をイ...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...

Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法

Node.js環境でテストが通っています。他の言語でも同様です。環境変数を取得する方法を使うだけです...

メモリ構成が過剰でMySQLが起動できない問題の解決方法

問題の説明MySQL の起動時にエラーが報告されます。エラー ログを確認してください。 [エラー] ...

Mysql systemctl start mysqld によって報告されるエラーの解決策

エラーメッセージ:制御プロセスがエラー コードで終了したため、mysqld.service のジョブ...

シンプルな広告ウィンドウを実現するjs

この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...

Keepalived を使用して Nginx の自動再起動とデュアルアクティブ ホットスタンバイの高可用性を実現する方法について

目次1. 概要2. Keepalivedを使用してNginxを自動的に再起動する2.1 シェルスクリ...

Linux のファイル圧縮とパッケージ化の概要

1. 圧縮と包装の概要一般的な圧縮ファイルウィンドウズ .rar .zip .7z Linux .z...