ホーム テクノロジー 開発 システム管理者または開発者が知っておくべき 4 つの重要な Dig コマンドの例

システム管理者としては、物事が美しく見えるのは、そうでないときだけです。危機に瀕した瞬間には、これらの発掘コマンドが役に立ちます。乞うご期待。

システム管理者は毎回大変な仕事をします。 24 時間 365 日オンコール対応するという、システム管理者の仕事の最も基本的な要件でさえ、私は限界を超えて感謝しています。

しかし、私たちは彼らの職業プロフィールを掘り下げるためにここにいるわけではありません。代わりに、DNS の問題をトラブルシューティングするために選択した武器を確認してください。

ディグコマンドとは何ですか?

Domain Information Groper の略称である Dig コマンドは、DNS サーバーに何が機能し、何が機能していないのかを問い合わせる最速の方法の 1 つです。

サーバーのIPアドレス、ネームサーバー、メールのやり取り、TTLの問い合わせなどを覚えやすい文字で確認できます。

いくつかの基本的な dig コマンドを開始する前に、dig ユーティリティがインストールされているかどうかを確認してください。

 $ dig -v

これにより、次のように、Dig バージョンを示す結果が返されるはずです。

 DiG 9.18.1-1ubuntu1-Ubuntu

同様の応答が得られない場合は、最初に Dig ユーティリティをインストールする必要があります。

Ubuntu と Debian を使用している場合は、次のように入力します。

 $ sudo apt-get install dnsutils

そして使用します:

 $ sudo yum install bind-utils

…CentOS または RHEL を使用している場合。

次に、 dig -vを実行して、インストールがスムーズに完了したことを確認します。

最後に、次のセクションに進んで、システム管理者として役立ついくつかの Dig コマンドを確認してください。

IPアドレスを確認する

これは、ドメイン名の基礎となるサーバー IP アドレスを確認する最も簡単な方法の 1 つです。

dig .com最初の反復です。

 $ dig .com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> .com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.com.			IN	A

;; ANSWER SECTION:
.com.		67	IN	A	172.66.43.163
.com.		67	IN	A	172.66.40.93

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:29:58 UTC 2022

最初に重要なことは、上部の「回答を得ました」セクションのstatus: NOERRORです。これは、問題なくうまくいったことを示しています。

ただし、このクエリを実行した情報はサーバーの IP アドレスです。これは、回答セクション172.66.40.93 (プライマリ サーバー) と 172.66.43.163 (フェールセーフ) に記載されています。

さらに、元のクエリ ステートメントは[質問] セクションの下にあります。

最後のセクションでは、クエリに関する統計をいくつか示します。

しかし、これは非常に多くの情報なので、毎回必要になるわけではありません。

したがって、次のように入力すると、このクエリに対するより明確な応答を取得できます。

 $ dig .com +noall +answer
.com.		53	IN	A	172.66.43.163
.com.		53	IN	A	172.66.40.93

ここでは、 +noallですべてを拒否し、 +answerで期待される回答のみを許可します。

以下を使用すると、さらに短い応答を得ることができます。

 $ dig .com +short
172.66.43.163
172.66.40.93

これは、 DNS Aレコードを返す基本的なクエリでした。さらにいくつか見てみましょう。

特定の DNS レコードを検索する

ドメインの権威 DNS サーバーであるネームサーバーは、 ns変数で見つけることができます。

 $ dig .com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.

同様に、 mx変数はメール サーバーとその優先順位を返します。

 $ dig .com mx +noall +answer
.com.		300	IN	MX	1 aspmx.l.google.com.
.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
.com.		300	IN	MX	5 alt2.aspmx.l.google.com.

同様に、 txtaaaacnameなどを dig コマンド変数として使用して、さまざまな DNS レコードを返すことができます。

DNSをトレースする

見出しから明らかなように、Trace DNS はルート ネームサーバー、権威ネームサーバーからドメイン IP アドレスまでのパスをチェックします。

 $ dig .com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> .com +trace
;; global options: +cmd
.			322660	IN	NS	a.root-servers.net.
.			322660	IN	NS	b.root-servers.net.
.			322660	IN	NS	c.root-servers.net.
.			322660	IN	NS	d.root-servers.net.
.			322660	IN	NS	e.root-servers.net.
.			322660	IN	NS	f.root-servers.net.
.			322660	IN	NS	g.root-servers.net.
.			322660	IN	NS	h.root-servers.net.
.			322660	IN	NS	i.root-servers.net.
.			322660	IN	NS	j.root-servers.net.
.			322660	IN	NS	k.root-servers.net.
.			322660	IN	NS	l.root-servers.net.
.			322660	IN	NS	m.root-servers.net.
;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms

com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			86400	IN	DS	30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.			86400	IN	RRSIG	DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw==
;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms

.com.		172800	IN	NS	olga.ns.cloudflare.com.
.com.		172800	IN	NS	todd.ns.cloudflare.com.
.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
.com.		86400	IN	RRSIG	DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA==
;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms

.com.		300	IN	A	172.66.43.163
.com.		300	IN	A	172.66.40.93
.com.		300	IN	RRSIG	A 13 2 300 20221110051242 20221108031242 34505 .com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

または、 +shortまたは+noall +answer変数を使用して短い回答を取得することもできます。

DNS 逆引き参照

DNS 逆引き検索により、IP アドレスに関連付けられた PTR レコードが明らかになります。これは DNS A レコードの逆で、IP アドレスとドメイン名を照合します。

ただし、ドメイン名に DNS PTR レコードがない場合、回答セクションはありません。

ここで使用するコマンドはdig -x IP addressです。

 ubuntu@ubuntu:~$ dig yahoo.com +short
74.6.143.26
74.6.231.20
98.137.11.164
98.137.11.163
74.6.143.25
74.6.231.21
ubuntu@ubuntu:~$ dig -x 74.6.143.26

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;26.143.6.74.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
26.143.6.74.in-addr.arpa. 600	IN	PTR	media-router-fp74.prod.media.vip.bf1.yahoo.com.

;; AUTHORITY SECTION:
143.6.74.in-addr.arpa.	172800	IN	NS	ns3.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns4.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns5.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns2.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns1.yahoo.com.

;; Query time: 192 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:17:08 UTC 2022
;; MSG SIZE  rcvd: 203

ご覧のとおり、回答セクションのドメイン名 media-router- fp74.prod.media.vip.bf1.yahoo.com/は、プライマリ IP アドレス 74.6.143.26 にリンクされています。

この URL にアクセスすると、実際には Yahoo 検索のホームページに移動します。

ただし、これはすべての Web ホストに当てはまるわけではありません。場合によっては、このような醜くて長い URL では何も解決されません。

特定の DNS サーバーにクエリを実行する

DNS クエリのために特定のサーバーに ping を実行したい場合があります。 @DNS server IP addressを追加し、特定のクエリに対して任意の DNS サーバーを選択することで、これを簡単に実現できます。

 $ dig @1.1.1.1 .com +noall +answer +stats
.com.		300	IN	A	172.66.40.93
.com.		300	IN	A	172.66.43.163
;; Query time: 156 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Wed Nov 09 04:18:56 UTC 2022
;; MSG SIZE  rcvd: 74

これは統計セクションで確認できます。このセクションには、Cloudflare に属するServer: 1.1.1.1が記載されています。

同様に、Google DNS サーバー (8.8.8.8) にクエリを実行できます。

 $ dig @8.8.8.8 .com mx +noall +answer +stats
.com.		300	IN	MX	1 aspmx.l.google.com.
.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
.com.		300	IN	MX	5 alt2.aspmx.l.google.com.
;; Query time: 44 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Nov 09 04:23:16 UTC 2022
;; MSG SIZE  rcvd: 157

掘ってみよう⛏️

名前が示すとおり、これらは DNS 情報を掘り出し、関連する問題を特定するために使用されます。 Dig コマンドは通常、高速に動作し、覚えやすいです。

言うまでもなく、Dig ユーティリティを Mac と Windows にインストールして、アプリケーションで汎用化することもできます。

「システム管理者または開発者が知っておくべき 4 つの重要な Dig コマンドの例」についてわかりやすく解説!絶対に観るべきベスト2動画

今求められるAI検索システム開発時の検討事項と活用AI技術・PoCを次につなげるための効率的なプロトタイプ開発の方法
ゲーム事業を支える横断技術組織の立ち上げ背景と今後の戦略【CADC2023】

Share via
Copy link