Wie lautet der Befehl zum Ermitteln des Namens eines Computers anhand seiner IP-Adresse?
Ich vergesse immer, was dieser Befehl ist, aber ich weiß, dass er in Windows existiert und ich nehme an, dass er in der * nix-Befehlszeile existiert.
Wie lautet der Befehl zum Ermitteln des Namens eines Computers anhand seiner IP-Adresse?
Ich vergesse immer, was dieser Befehl ist, aber ich weiß, dass er in Windows existiert und ich nehme an, dass er in der * nix-Befehlszeile existiert.
Antworten:
graben und hosten sollte was du suchst;)
http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
Auf * nix-Systemen können Sie diesen Befehl ausführen:
dig -x [address]
Alternativ können Sie +short
am Ende des dig
Befehls hinzufügen, um nur das DNS-Ergebnis auszugeben.
Verwenden Sie unter Windowsnslookup
BEARBEITEN: nslookup funktioniert auch auf * nix-Systemen. Weitere Informationen zum Befehl nslookup, ob er seit einiger Zeit ersetzt zu werden scheint: http://linuxreviews.org/man/nslookup/
Unter * nix können Sie Folgendes verwenden:
dig -x [address]
dig -x [address] +short
+short
Flagge ist wirklich nützlich!
man dig
, Die Adresse ist eine IPv4-Adresse in Punkt-Dezimal-Schreibweise oder eine durch Doppelpunkte getrennte IPv6-Adresse.
Diese Frage hat bereits eine Million Antworten, aber ich werde noch eine hinzufügen. Hier ist eine kleine Funktion, die ich geschrieben habe, um einfach Reverse DNS mit dig zu machen. Fügen Sie dies zu Ihrer ~/.bashrc
Datei hinzu, laden Sie Ihre Shell neu und dann können Sie DNS-Lookups rückgängig machen mit revdns 1.2.3.4
:
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}"
}
Reverse-DNS-Lookups werden durch Überprüfen der Zeigerdatensätze (PTR) durchgeführt. Wenn Sie DNS für "1.2.3.4" umkehren möchten, müssen Sie nach Zeigerdatensätzen für "4.3.2.1.in-addr.arpa" suchen. Meine Funktion nimmt eine IP-Adresse auf, kehrt die Reihenfolge der Oktette um (dh ändert sie von 1.2.3.4 in 4.3.2.1) und führt dann die dig
soeben beschriebene PTR-Suche aus.
Sie können natürlich nur verwenden, nslookup 1.2.3.4
wenn Sie es haben, aber ich bevorzuge diese dig-basierte Lösung, weil sie die DNS-Server des Betriebssystems anstelle der von nslookup bereitgestellten verwendet (wenn Sie möchten, können Sie übrigens zusätzliche dig-Flags hinzufügen Wenn Sie anrufen revdns
, werden sie an dig übergeben.
dig -x dot-notation
handelt es sich um die "Abkürzung für Reverse Lookups". Ich fragte mich, wie die lange Version aussehen würde. Danke fürs Erklären! :)
man dig
: Wenn -x verwendet wird, müssen keine Argumente für Name, Klasse und Typ angegeben werden. dig sucht automatisch nach einem Namen wie 94.2.0.192.in-addr.arpa und setzt den Abfragetyp und die Klasse auf PTR bzw. IN.
Ich bin mir bewusst, dass dig / host / nslookup die Standardwerkzeuge für diese sind, aber ich behalte diese bei, um die Auflösung des Betriebssystems zu testen (im Wesentlichen, um zu testen, ob nsswitch.conf richtig funktioniert):
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";
}
Beispiel:
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
Forward-Lookup mit 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
Rückwärtssuche mit host
:
$ host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
Forward-Lookup mit dig
:
$ dig google-public-dns-b.google.com. +short
8.8.4.4
Rückwärtssuche mit dig
:
$ dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
Wenn Sie nslookup verwenden, ist dies (unter der Annahme, dass 192.168.0.1 die fragliche IP ist).
> set type=ptr
> 1.0.168.192.in-addr.arpa
BEARBEITEN: Denken Sie daran, dass eine umgekehrte Suche nur funktioniert, wenn für die IP ein PTR-Datensatz erstellt wurde und nicht garantiert wird, dass der gesuchte Hostname zurückgegeben wird. Kommt ganz darauf an, wie DNS in Ihrer Situation konfiguriert und gewartet wird.
Nun, eine freundliche Person, die gerade nslookup geschrieben hat, ist der Befehl, und er hat Recht. Es funktioniert sowohl unter Unix als auch unter Windows. Nicht sicher, warum Sie Ihre Antwort gelöscht haben, aber Sie sind richtig, Sir.
Ich bevorzuge die Befehlszeilen-Suche für Windows (hier verfügbar: http://members.shaw.ca/nicholas.fong/dig/ ) gegenüber nslookup an jedem Tag.
Wenn Sie DNS von einer Windows-Workstation aus testen / verwalten müssen, greifen Sie auf dieses Tool zu. Dann:
C:\dig>dig -x <IP Address>
Denken Sie auch daran, Ihrem Pfad c: \ dig hinzuzufügen!
drill
Dienstprogramm von ldns, dhdrill -x 123.123.123.123