Ich muss den Hostnamen eines UNIX-Hosts finden, dessen IP bekannt ist, ohne sich bei diesem UNIX-Host anzumelden
Ich muss den Hostnamen eines UNIX-Hosts finden, dessen IP bekannt ist, ohne sich bei diesem UNIX-Host anzumelden
Antworten:
Verwenden Sie nslookup
nslookup 208.77.188.166
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa name = www.example.com.
sudo yum install bind-utils
zuerst ausführen . Dies wird nslookup Lookup für Sie installieren
Sie können auch eine umgekehrte DNS-Suche durchführen host
. Geben Sie einfach die IP-Adresse als Argument an:
$ host 192.168.0.10
server10 has address 192.168.0.10
Ein weiteres NS-Suchdienstprogramm, das für die umgekehrte Suche verwendet werden kann, ist dig
die folgende -x
Option:
$ dig -x 72.51.34.34
; <<>> DiG 9.9.2-P1 <<>> -x 72.51.34.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12770
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;34.34.51.72.in-addr.arpa. IN PTR
;; ANSWER SECTION:
34.34.51.72.in-addr.arpa. 42652 IN PTR sb.lwn.net.
;; Query time: 4 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:40 2013
;; MSG SIZE rcvd: 77
oder
$ dig -x 127.0.0.1
; <<>> DiG 9.9.2-P1 <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11689
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 10 IN PTR localhost.
;; Query time: 2 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:49 2013
;; MSG SIZE rcvd: 63
Zitat aus der Dig Manpage :
Reverse Lookups - Zuordnen von Adressen zu Namen - werden durch die vereinfacht Option -x . addr ist eine IPv4-Adresse in Punkt-Dezimal-Schreibweise oder eine durch Doppelpunkte getrennte IPv6-Adresse. Wenn diese Option verwendet wird, müssen die Argumente name, class und type nicht angegeben werden. dig führt automatisch eine Suche nach einem Namen wie 11.12.13.10.in-addr.arpa durch und setzt den Abfragetyp und die Klasse auf PTR bzw. IN.
Für Windows ping -a 10.10.10.10
Versuchen Sie unter Windows:
NBTSTAT -A 10.100.3.104
oder
ping -a 10.100.3.104
Versuchen Sie unter Linux:
nmblookup -A 10.100.3.104
Sie sind fast gleich.
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"
Wenn Sie nur den Namen und keine zusätzlichen Informationen benötigen, fügen Sie am Ende [0] hinzu:
python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"
python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Das hängt vom Kontext ab. Ich denke, Sie beziehen sich auf den Hostnamen des Betriebssystems (zurückgegeben von, hostname
wenn Sie angemeldet sind). Dieser Befehl gilt nur für interne Namen. Um den Namen eines Computers abzufragen, sind unterschiedliche Benennungssysteme erforderlich. Es gibt mehrere Systeme, die Namen verwenden, um Hosts zu identifizieren, einschließlich DNS, DHCP, LDAP ( DNs ) hostname
usw., und viele Systeme verwenden Zeroconf , um Namen zwischen mehreren Benennungssystemen zu synchronisieren. Aus diesem Grund hostname
stimmen die Ergebnisse von manchmal mit den Ergebnissen von dig
(siehe unten) oder anderen Benennungssystemen überein, aber oft stimmen sie nicht überein.
DNS ist bei weitem am gebräuchlichsten und wird sowohl im Internet (wie google.com. A 216.58.218.142
) als auch zu Hause (mDNS / LLMNR) verwendet. So führen Sie eine umgekehrte DNS-Suche durch : dig -x <address>
( nslookup
und host
sind einfacher, liefern weniger Details und geben möglicherweise sogar andere zurück Ergebnisse, dig
ist jedoch nicht in Windows enthalten).
Beachten Sie, dass Hostnamen innerhalb eines CDN nicht in den kanonischen Domainnamen (z. B. "google.com") aufgelöst werden, sondern in den Hostnamen der von Ihnen abgefragten Host-IP (z. B. "dfw25s08-in-f142.1e100.net"; interessanter Leckerbissen: 1e100 ist 1 googol).
Beachten Sie auch, dass DNS-Hosts mehr als einen Namen haben können. Dies ist häufig bei Hosts mit mehr als einem Webserver (virtuelles Hosting) der Fall, obwohl dies aufgrund der zunehmenden Verbreitung von Virtualisierungstechnologien immer seltener vorkommt. Diese Hosts verfügen über mehrere PTR-DNS-Einträge .
Beachten Sie schließlich, dass DNS-Hosteinträge vom lokalen Computer über / etc / hosts überschrieben werden können . Wenn Sie nicht den erwarteten Hostnamen erhalten, überprüfen Sie diese Datei.
DHCP- Hostnamen werden je nach verwendeter DHCP-Serversoftware unterschiedlich abgefragt, da das Protokoll (soweit ich weiß) keine Methode zum Abfragen definiert. Die meisten Server bieten jedoch eine Möglichkeit, dies zu tun (normalerweise mit einem privilegierten Konto).
Hinweis DHCP-Namen werden normalerweise mit DNS-Servern synchronisiert. Daher werden in einer DHCP-Client-Mindesttabelle und in den A-Einträgen (oder AAAA für IPv6) des DNS-Servers häufig dieselben Hostnamen angezeigt. Auch dies wird normalerweise als Teil von zeroconf durchgeführt.
Beachten Sie auch, dass nur weil eine DHCP-Lease für einen Client existiert, dies nicht bedeutet, dass sie noch verwendet wird.
NetBIOS für TCP / IP (NBT) wurde jahrzehntelang zur Durchführung der Namensauflösung verwendet, wurde jedoch seitdem durch LLMNR für die Namensauflösung ersetzt (Teil von zeroconf unter Windows). Dieses Legacy-System kann weiterhin mit nbtstat
(Windows) oder nmblookup
(Linux) abgefragt werden .
Wenn Sie speziell nach einem Windows-Computer suchen, versuchen Sie den folgenden Befehl:
nbtstat -a 10.228.42.57
Sie können auch den Befehl traceroute verwenden.
http://linux.die.net/man/8/traceroute
Verwenden Sie einfach die Traceroute, um den Routing-Pfad mit den Hostnamen anzuzeigen (IPs aufgelöst).
In den meisten Fällen funktioniert der Befehl traceroute einwandfrei. nslookup- und host-Befehle können fehlschlagen.