コマンドライン – 特定のDNSサーバへの問い合わせを指示するには?

command-line dns nslookup

IPアドレスを知っている特定のDNSサーバーに問い合わせをしたいのですが、Windowsでも*nixでも関係ありません。Windowsでも*nixでも構いません

Windowsではこんなことができます

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

Non-authoritative answer:
Name:    superuser.com
Address:  64.34.119.12

しかし、これはローカルマシンのDNS設定を使用します。その代わりに、特定の DNS サーバーに問い合わせをして、そのサーバーが私のクエリに正しく応答しているかどうか、あるいは全く応答していないかどうかをテストしたいと思います

というような感じになるはずです

nslookup --dns-ip=8.8.8.8 superuser.com

  177  Anton Daneyko  2011-12-14


ベストアンサー

基本的なAレコードとCNAMEレコードの場合は、単純に行うことができます

nslookup somewhere.com some.dns.server

Usage:
nslookup [-opt ...]             # interactive mode using default server
nslookup [-opt ...] - server    # interactive mode using 'server'
nslookup [-opt ...] host        # just look up 'host' using default server
nslookup [-opt ...] host server # just look up 'host' using 'server'

あるいは、パラメータなしで nslookup と入力するだけで、もっと多くのオプションができるようになります

Commands:   (identifiers are shown in uppercase, [] means optional)
NAME            - print info about the host/domain NAME using default server
NAME1 NAME2     - as above, but use NAME2 as server
help or ?       - print info on common commands
set OPTION      - set an option
all                 - print options, current server and host
[no]debug           - print debugging information
[no]d2              - print exhaustive debugging information
[no]defname         - append domain name to each query
[no]recurse         - ask for recursive answer to query
[no]search          - use domain search list
[no]vc              - always use a virtual circuit
domain=NAME         - set default domain name to NAME
srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc.
root=NAME           - set root server to NAME
retry=X             - set number of retries to X
timeout=X           - set initial time-out interval to X seconds
type=X              - set query type (ex. A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV)
querytype=X         - same as type
class=X             - set query class (ex. IN (Internet), ANY)
[no]msxfr           - use MS fast zone transfer
ixfrver=X           - current version to use in IXFR transfer request
server NAME     - set default server to NAME, using current default server
lserver NAME    - set default server to NAME, using initial server
root            - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
-a          -  list canonical names and aliases
-d          -  list all records
-t TYPE     -  list records of the given RFC record type (ex. A,CNAME,MX,NS,PTR etc.)
view FILE           - sort an 'ls' output file and view it with pg
exit            - exit the program

231  TheCompWiz  2011-12-14


nslookupを呼び出すと表示できるnslookupのオプションを調べただけで、nslookupの対話モードの中でhelpと入力すると正解が出てきました

C:\Documents and Settings\Anton Daneyko>nslookup help
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

*** DNSs2.Uni-Marburg.DE can't find help: Non-existent domain

C:\Documents and Settings\Anton Daneyko>nslookup
Default Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

> stackoverflow.com 8.8.8.8
Server:  [8.8.8.8]
Address:  8.8.8.8

Non-authoritative answer:
Name:    stackoverflow.com
Address:  64.34.119.12

11  Anton Daneyko  2011-12-14


はい、C:\Documents and Settings\Anton Daneyko>nslookup superuser.comはあなた自身のDNSサーバを検索してsuperuser.comのIPアドレスを見つけます。コマンドラインにIPアドレスまたは別のDNSサーバ名を追加すると、指定されたDNSサーバを検索してsuperuser.comのIPアドレスを調べます。例

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 8.8.4.4
Server:  google-public-dns-b.google.com
Address:  8.8.4.4

Non-authoritative answer:
Name:    superuser.com
Addresses:  190.93.245.58
190.93.246.58
141.101.114.59
190.93.247.58
190.93.244.58

ちなみに8.8.4.4はGoogle DNSサーバーのIPアドレスです

しかし、どちらもsuperuser.comドメインの権威であるSOAではないので、上記のどちらも「非権威的な回答」を与えています。どちらもSOAから伝播してきたキャッシュコピーを持っています。権限のあるサーバに問い合わせたい場合は、まずコマンドで権限のあるサーバのIPアドレス名を調べます

C:\Documents and Settings\Anton Daneyko>nslookup -type=ns superuser.com
Server:  DNSs2.Uni-Marburg.DE
Address:  137.248.21.22

Non-authoritative answer:
superuser.com   nameserver = cf-dns02.superuser.com
superuser.com   nameserver = cf-dns01.superuser.com

cf-dns02.superuser.com  internet address = 173.245.59.4
cf-dns02.superuser.com  AAAA IPv6 address = 2400:cb00:2049:1::adf5:3b04
cf-dns01.superuser.com  AAAA IPv6 address = 2400:cb00:2049:1::adf5:3a35
cf-dns01.superuser.com  internet address = 173.245.58.53

これは、ローカルのDNSサーバーから、Superuser.comのためのすべての権威あるサーバーの名前を指定して、Marburg Uniから、権威のない回答を返します。そして、先ほど使ったコマンドを使って、次のように4つの権威サーバのいずれかに問い合わせることができます

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 173.245.59.4
Server:  cf-173-245-59-4.cloudflare.com
Address:  173.245.59.4

Name:    superuser.com
Addresses:  141.101.114.59
190.93.246.58
190.93.245.58
190.93.247.58
190.93.244.58

ご覧のように、今回は権威あるSOAサーバがIPアドレスを返したので、「権威のない回答」というコメントが表示されなくなりました。これは、新しいドメイン名を作成したり、ホスティングプロバイダを変更したり、別のドメインレジストラに移行したりした場合に、新しいIPアドレスが24時間経っても伝搬されないため、ウェブサイトにアクセスできない場合に特に便利です。その後、SOAから始めて、あなたの正しいIPアドレスがDNSサーバーによって与えられていることを確認し、さらにツリーの下にそれをたどることができます。Google DNSサーバーが変更を受信したかどうかを確認し、最後にローカルDNSサーバーが正しいIPアドレスにドメイン名を解決できるかどうかを確認するのが良いでしょう

7  Bede Amarasekara  2015-09-22


指定したDNSサーバーから特定のレコードタイプを1つのコマンドで取得します

nslookupが返すデフォルトのAおよびAAAAA(およびCNAME)レコード以外のレコードタイプを、指定したDNSサーバを使用して検索する場合

nslookup -q=<record type> <host> <DNS server>

例えば、DNSサーバー8.8.4.4を使用してドメインstackexchange.comのMXレコードを返すには、コマンドは次のようになります

nslookup -q=MX stackexchange.com 8.8.4.4

3  I say Reinstate Monica  2017-09-24


nslookup でデフォルトの DNS サーバを変更するには、サーバ NAME または IPofDNS と入力するだけでサーバを変更することができます

C:\Windows\system32>nslookup

デフォルトのサーバー。不明です

Address: 192.168.50.21

server 4.2.2.3

デフォルトサーバ: c.resolvers.level3.net

Address: 4.2.2.3

>

これで、4.2.2.2.3 対 192.168.50.21 のクエリを作成する準備ができました

1  atlantaitservice.com  2016-03-30


接続で使用するプライマリDNSを設定することができます。 接続のプロパティ => インターネットプロトコル (TCP/IP) に移動します。(静的IPを設定できる場所) ここでは、各接続で使用するDNSを手動で定義することができます。 テスト後、いつでも以前の値に戻すことができます

0  PatrickCUDO  2011-12-14


私はOpenwrt 18.06.1 ARMv6 Raspberry piで作業していて、tor dnsと同様にdnscrypt-proxyを設定しているので、非常に似たような問題がありました。根本的な原因は、ローカルISPがroot-servers.netからの安全でない応答を傍受していること、サイトが見つかりませんでしたという応答、そして自分のウェブサイトにリダイレクトしていることです。それは素晴らしいセキュリティ上の欠陥ではありませんが、私はそれを見つけることは特に有用ではありません

特定のアドレスを問い合わせるときに最初に行うテストは、サーバ、ポート、ホストパラメータを使用するときに適切なNULL応答を得ることを確認するために、実際には無効なアドレスを試すことです。ヌル応答を取得した後、アクティブなサーバーアドレスとポートで動作します。アクティブなポートは、netstat -plntでopenwrtに表示することができますが、いくつかのルータコマンドが最初にインストールする必要があるかもしれないことに注意してください.ポート 9053 に設定した tor サービスはここには表示されませんが、DNSPort 127.0.0.0.1:9053 を torrc ファイルに追加した後も動作します。このプラットフォームの nslookup フォーマットは [host] と [server] パラメータを受け付けるので、nslookup cnn.com 127.0.0.1#9053 で tor の dns をテストできます。com 127.0.0.0.1#5353 無効なポート番号やドメインに変更してもレスポンスが返ってきます; ; connection timed out; no servers could be reached. digもopenwrtで動作しますが、bind-digパッケージからインストールする必要があります。私の場合、/etc/config/network のエントリを変更して、以前は安全でない DNS エントリを使用していたネットワーク用のオプション dns ‘127.0.0.1’ を設定すると問題は解決しました

0  Prada  2018-10-05


あなたが探しているかもしれないものをWindowsの場合は、次の記事で紹介されています。https://technet.microsoft.com/en-us/library/ff394369.aspx

0  Zaspam Akaunt  2018-10-12


タイトルとURLをコピーしました