IPアドレスを指定してコンピューターの名前を見つけるコマンドは何ですか?
私はいつもこのコマンドが何であるかを忘れていますが、Windowsに存在することを知っており、* nixコマンドラインに存在すると想定しています。
DigおよびHostがあなたが探しているものであるはずです;)
http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
* nixシステムでは、次のコマンドを実行できます:Dig -x [address]
または、Dig
コマンドの最後に+short
を追加して、dns結果のみを出力することもできます。
Windowsでは、nslookup
を使用します
編集:nslookupは* nixシステムでも動作します。 nslookupコマンドの詳細情報(しばらくしてから置き換えられているように見えるかどうか) http://linuxreviews.org/man/nslookup/
* nixでは次を使用できます。
Dig -x [address]
私が知っているほとんどのLinuxシステムでは、以下を使用できます。
nslookup <ip-number EX: 127.0.0.1>
コマンドラインで動作します。
考えてみてください。nslookupはWindows XPで利用できませんか?
この質問にはすでに100万の回答がありますが、もう1つ追加します。これが、Digを使用してリバースDNSを簡単に実行するために書いた小さな関数です。これを~/.bashrc
ファイルに追加し、シェルをリロードすると、revdns 1.2.3.4
を使用してDNSの逆ルックアップを実行できます。
function revdns() {
octets=""
addr="in-addr.arpa"
# split the IP address into an array of octets
IFS="." read -r -a octets <<< "$1"
# add each octet to our $addr string in reverse order
for octet in "${octets[@]}"; do
addr=$octet"."$addr
done
# run a DNS pointer lookup with Dig
# `+short` makes Dig's output very terse (un-verbose)
# `"${@:2}"` passes any extra params from this command to Dig
Dig ptr +short $addr "${@:2}"
}
逆DNSルックアップは、ポインター(PTR)レコードをチェックすることによって行われます。 「1.2.3.4」のリバースDNSを実行する場合は、「4.3.2.1.in-addr.arpa」のポインターレコードを検索する必要があります。私の関数はIPアドレスを受け取り、オクテットの順序を逆にします(つまり、1.2.3.4から4.3.2.1に変更します)。次に、Dig
を使用して、先ほど説明したPTRルックアップを実行します。
もちろん、もしあればnslookup 1.2.3.4
を使用することもできますが、nslookupが提供するDNSサーバーではなくOSのDNSサーバーを使用するため、このDigベースのソリューションを使用します(ちなみに、 revdns
を呼び出すときに追加のDigフラグを追加でき、それらはDigに渡されます)
Host
を使用した前方参照:
$ Host google-public-dns-b.google.com.
google-public-dns-b.google.com has address 8.8.4.4
google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
Host
を使用した逆ルックアップ:
$ Host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
Dig
を使用した前方参照:
$ Dig google-public-dns-b.google.com. +short
8.8.4.4
Dig
を使用した逆ルックアップ:
$ Dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
私はDig/Host/nslookupがこれらの標準ツールであることをよく知っていますが、OSの解像度をテストするためにこれらを保持します(基本的に、nsswitch.confをテストすることは正しく機能しています)。
gethostbyname:
#!/usr/bin/Perl
use Socket;
my @t = gethostbyname($ARGV[0]);
print "\$name = $t[0]\n"; shift(@t);
print "\$aliases = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
gethostbyaddr:
#!/usr/bin/Perl
use Socket;
my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "\$name = $t[0]\n"; shift(@t);
print "\$aliases = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
例:
g3 0 /home/jj33/swap > gethostbyname www.google.com
$name = www.l.google.com
$aliases = www.google.com
$addrtype = 2
$length = 4
= 72.14.205.147
= 72.14.205.103
= 72.14.205.104
= 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147
$name = qb-in-f147.google.com
$aliases =
$addrtype = 2
$length = 4
= 72.14.205.147
Windowsでは、次のように使用する習慣をつけました。
ping -a <ip address>
これは、hosts
ファイルやWINSなどからのデータも反映します。
Nslookupを使用している場合は、これです(問題のIPとして192.168.0.1を想定)
> set type=ptr
> 1.0.168.192.in-addr.arpa
編集:逆ルックアップが機能するのは、IPに対して作成されたPTRレコードがある場合のみであり、探しているホスト名が返されるとは限らないことを覚えておいてください。状況に応じてDNSがどのように構成および維持されるかに完全に依存します。
パワーシェル:
[net.dns]::gethostentry("69.59.196.212").HostName
私はWindowsのコマンドラインDig(ここから入手できます: http://members.shaw.ca/nicholas.fong/Dig/ )をnslookupよりも好きです。
WindowsワークステーションからDNSをテスト/管理する必要がある場合は、このツールを入手してください。次に:
C:\Dig>Dig -x <IP Address>
...また、c:\ Digをパスに追加することを忘れないでください!
まあ、nslookupを書いたばかりの友好的な人がコマンドです、そして彼は正しいです。 UnixとWindowsの両方で動作します。答えを削除した理由はわかりませんが、正解です。
彼女は、より完全なDNS逆引きについて私の見解です。これがこのページの将来の閲覧者に役立つことを願っています。
for ip in {1..254..1}; do Dig -x 1.1.1.$ip | grep $ip >> dns.txt; done;