はい、いくつかあります。

はい、いくつかあります。

ドメイン名に対してのみDNS検索を実行するコマンドはありますか?たとえば、 dns unix.stackexchange.comどちらが返され、151.101.1.69どちらがgbnjk.com返されるかですerror: domain not found

答え1

別のDNSクエリツールはdig基本的に非常に冗長ですが、そのように使用すると、1行dig +shortに1つずつだけ答えを得ることができます。

$ dig +short unix.stackexchange.com
151.101.65.69
151.101.193.69
151.101.129.69
151.101.1.69

$ dig +short www.latimes.com
32975.edgekey.net.
e11929.e12.akamaiedge.net.
2.22.63.16
2.22.63.11

要求されたドメインが存在しない場合は何も返されません。

$ dig +short gbnjk.com
$

答え2

はい、いくつかあります。

ISCのツールとスタイルhost

ISCのBINDに含まれているツールhostはとですdigdigここの他の答えでは、短いパターンを含む実際に動作することがわかります。

hostただし、ISCが唯一のツールソースではありません。

  • Knot DNSには独自のkhostツールが付属しています。 Debian では次のようにパッケージ化されています。knot-hostパッケージまた、アクセスできるようにシンボリックリンクも提供しますhost
    % ホスト unix.stackexchange.com.
    unix.stackexchange.com. IPv4 アドレスは 151.101.1.69 です。
    unix.stackexchange.com. IPv4 アドレスは 151.101.65.69 です。
    unix.stackexchange.com. IPv4 アドレスは 151.101.129.69 です。
    unix.stackexchange.com. IPv4 アドレスは 151.101.193.69 です。
    unix.stackexchange.comでホストされています。 AAAA記録なし
    unix.stackexchange.comでホストされています。 MXレコードなし
    %
  • host利用可能なツールを提供しました。djbwaresツールセット、私はDebianパッケージとしても提供していますdjbdns-host。これはデフォルトのdjbdnsクエリツールを囲む薄いラッパーです。host前述のように、いくつかのトランザクションを実行するKnotおよびISCツールとは異なり、常に単一DNSトランザクション。
    % ホスト unix.stackexchange.com.
    1 unix.stackexchange.com:
    104バイト、1+4+0+0レコード、応答、エラーなし
    クエリ: 1 unix.stackexchange.com
    回答:unix.stackexchange.com 300A 151.101.1.69
    回答:unix.stackexchange.com 300A 151.101.65.69
    回答:unix.stackexchange.com 300A 151.101.129.69
    回答:unix.stackexchange.com 300A 151.101.193.69
    %
    %host gbnjk.com
    1gbnjk.com:
    27バイト、1+0+0+0レコード、応答、権限、nxdomain
    お問い合わせ:1gbnjk.com
    %

ダニエルJ.バーンスタインツール

デフォルトのdjbdnsクエリツールには、、、、、、、、、、、およびdnsqが含まれます。3つのカテゴリに分かれているので、その数が多い。dnsqrdnsqrxdnsnamednsnamexdnsmxdnsipdnsipqdnstxtdnstrace

  • 人間が読める出力を生成するツール:dnsqdnsqrdnsqrx
  • 機械が分析できる出力を生成するツール:dnsnamednsnamexdnsmxdnsipdnsipqdnstxt
  • dnstrace出力は機械に解析可能であり、通常は渡されます。dnstracesort、機械が分析できるコンテンツを人間が読めるコンテンツに変換するフィルタ

上記のように、人間が読めるツールは単にDNSトランザクションを実行し、関連するDNSサーバーからの応答を印刷します(特定の種類のDNSサーバー用にさまざまなツールがカスタマイズされています)。コンテンツまたは代理人)。

%dnsqr ns stackexchange.com.
2.stackexchange.com:
170バイト、1+4+0+0レコード、応答、エラーなし
クエリ: 2 stackexchange.com
回答:stackexchange.com 170156 NS ns-1029.awsdns-00.org
回答:stackexchange.com 170156 NS ns-925.awsdns-51.net
回答:stackexchange.com 170156 NS ns-cloud-d1.googledomains.com
回答:stackexchange.com 170156 NS ns-cloud-d2.googledomains.com
%
%dnsq ns stackexchange.com. ns-925.awsdns-51.net. /package/admin/djbwares [pts/4.10022.1]
2.stackexchange.com:
170バイト、1+4+0+0レコード、応答、信頼できる、エラーなし
クエリ: 2 stackexchange.com
回答:stackexchange.com 172800 NS ns-1029.awsdns-00.org
回答:stackexchange.com 172800 NS ns-925.awsdns-51.net
回答:stackexchange.com 172800 NS ns-cloud-d1.googledomains.com
回答:stackexchange.com 172800 NS ns-cloud-d2.googledomains.com
%
%dnsqr a gbnjk.com
1gbnjk.com:
27バイト、1+0+0+0レコード、応答、権限、nxdomain
お問い合わせ:1gbnjk.com
%

シェルスクリプトで使用するように設計された機械解析可能なツールです。 「ipv4 アドレスあり」や「回答:」などの追加項目で出力を複雑にすることはなく、出力は明確に定義されています。 dnsipqたとえば、各入力名ごとに1行(スペースである可能性があります)を印刷するか、エラーコードで終了します。 dnsnamex別の例は、各入力IPアドレス(空白または空白で区切られた複数の名前を含めることができます)ごとに常に1行を印刷することです。

%dnsip unix.stackexchange.com. unix.stockexchange.com.
151.101.129.69 151.101.193.69 151.101.1.69 151.101.65.69

%
% dnsnamex `dnsip unix.stackexchange.com. `




%
%dnsmx unix.stackexchange.com.
0 unix.stackexchange.com
%
%dnsmx stackexchange.com.
1 aspmx.l.google.com
5 alt1.aspmx.l.google.com
5 alt2.aspmx.l.google.com
10 alt3.aspmx.l.google.com
10 alt4.aspmx.l.google.com
%

ご覧のとおり、特にDNS検索を実行するために使用されます。特定の仕事のために特定の種類のDNSトランザクションを実行するものではありません。 dnsmxたとえば、MTS は SMTP メッセージを転送し、複数の DNS トランザクションから情報が収集される試みの順序をマシンが分析できる、1 行に 1 つの結果として、スペースで区切られた形式で報告します。

NLlabsツール

国立研究所drill LDNSからdig(他の回答で述べた「アンバウンド」とは異なり)ユーザーマニュアルに従って「より多くの情報」を印刷することを目指しています。これに対応するdig短いモードはありません。通常モードと同様に、dig出力はISCの「領域ファイル」形式であり、多数のコメント行を含むため、プログラムで処理するには「領域ファイル」パーサー全体が必要です。したがって、機械が分析できる短い出力のためのツールではありません。

コマンドラインの構文解析はやや粗雑です。

%練習、「好きな限り」ここに+短いコンテンツがあれば何でも可能です! ' unix.stackexchange.com.
;;; ->>ヘッダ<<- opcode: QUERY, rcode: NOERROR, id: 47385
;;フラグ:qr rd ra;クエリ: 1, 回答: 4, 権限: 0, 追加: 0
;;質問部分:
;;; unix.stackexchange.com.中

;;答え部分:
unix.stackexchange.com. 151.101.193.69から277
unix.stackexchange.com. 151.101.129.69から277
unix.stackexchange.com. 151.101.65.69から277
unix.stackexchange.com. 151.101.1.69から277

;;電源部分:

;;追加部分:

;;クエリ時間:145ミリ秒
;;サーバー: 127.0.0.1
;;時間:2018年5月27日日曜日10:52:12
;;MSG サイズ rcvd: 104
%

この種の操作は、タイプまたはドメイン名がコマンドの最初の引数であることを覚えていない人に役立ちますが、スクリプトで実行したい操作とは対照的です。人々は、誤用がエラーになるパラメータの順序が定義され文書化された明確に定義されたインタフェースを望んでいます。間違いこれは何も推測しようとしません。意味はランニング。

「ちょうどDNS」

他の回答で述べたように、「単にDNS」をしたいかどうかによって異なります。

  • マシンが解析できる出力を持つスクリプトでツールを使用したい場合結果情報のみ、djbdnsツールセットをチェックしてください。
  • ただ実行されるツールが必要な場合単一hostDNSトランザクションは、人間が読める出力として提供されます。 djbdnsツールセットのツールまたはツールを確認してください。
  • そうでない場合は、上記のすべてを確認してください。

次のいずれかを参照してください。一部欠点は、nslookupいくつかのUnicesを含むいくつかのオペレーティングシステムで以下を実行するように改善されたことです。単純なDNSルックアップnslookup私と他の人がほぼ20年間説明したように、これは深刻な欠陥のあるツールです。完全にしてはいけない「共通ツール」、長年の努力を通じて今ではいいえ

追加読書

答え3

「ただ」が正確に何を意味するかによって異なります(どの基準と比較して?)。host(bind-toolsまたはbin-utilsパッケージから)出力は非常に簡潔ですが、それでも人間が読むことができるテキストがあります。

[0 1016 8:16:41] ~ % host unix.stackexchange.com
unix.stackexchange.com has address 151.101.129.69
unix.stackexchange.com has address 151.101.193.69
unix.stackexchange.com has address 151.101.65.69
unix.stackexchange.com has address 151.101.1.69

"問題"の一部はDNSサーバーエラー、CNAMEエントリ(例:"linux.example.comはすべてのunix . example.comはい、そこに行って一度見てください。"):

[0 1018 8:17:36] ~ % host www.latimes.com
www.latimes.com is an alias for 32975.edgekey.net.
32975.edgekey.net is an alias for e11929.e12.akamaiedge.net.
e11929.e12.akamaiedge.net has address 23.219.130.10
e11929.e12.akamaiedge.net has address 23.219.130.8

さらにあるかもしれません。

答え4

一般的に使用される簡単なツールは次のとおりです。

$ host unix.stackexchange.com
unix.stackexchange.com has address 151.101.1.69
unix.stackexchange.com has address 151.101.65.69
unix.stackexchange.com has address 151.101.129.69
unix.stackexchange.com has address 151.101.193.69

$  nslookup unix.stackexchange.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   unix.stackexchange.com
Address: 151.101.1.69
Name:   unix.stackexchange.com
Address: 151.101.65.69
Name:   unix.stackexchange.com
Address: 151.101.129.69
Name:   unix.stackexchange.com
Address: 151.101.193.69

ホストはバインディング9-hostパッケージにバインドされていないISCから来ました。 dig と nslookup はどちらも dnsutils パッケージで提供されます。 DNSをさらに分析するために他のツールが必要な場合は、次を参照してくださいdig製本)。オプションは短い回答を提供します+short(詳細な回答を見るには削除してください)。

$ dig +short unix.stackexchange.com
151.101.1.69
151.101.65.69
151.101.129.69
151.101.193.69

またはドリル(束縛されていない):

$ drill @1.1.1.1 unix.stackexchange.com
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 48240
;; flags: qr rd ra ; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; unix.stackexchange.com.      IN      A

;; ANSWER SECTION:
unix.stackexchange.com. 250     IN      A       151.101.1.69
unix.stackexchange.com. 250     IN      A       151.101.65.69
unix.stackexchange.com. 250     IN      A       151.101.129.69
unix.stackexchange.com. 250     IN      A       151.101.193.69

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 3 msec
;; SERVER: 1.1.1.1
;; WHEN: Sun May 27 10:16:27 2018
;; MSG SIZE  rcvd: 104

信頼アンカーの設定方法がわからない場合は、慎重に掘り下げて、特に掘削の答えを信頼してください。どちらのツールも単純ではありません。

関連可能であればドリルし、必要に応じて掘り、必要に応じてnslookupを実行します。

関連情報