Muszę znaleźć nazwę hosta UNIX, którego adres IP jest znany, bez logowania się do tego hosta UNIX
Muszę znaleźć nazwę hosta UNIX, którego adres IP jest znany, bez logowania się do tego hosta UNIX
Odpowiedzi:
Użyj 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
najpierw uruchomić . spowoduje to zainstalowanie wyszukiwania nslookup
Możesz również wykonać odwrotne wyszukiwanie DNS host
. Po prostu podaj adres IP jako argument:
$ host 192.168.0.10
server10 has address 192.168.0.10
Narzędzie innego NS lookup, które mogą być wykorzystywane do wyszukiwania jest odwróconą dig
z -x
opcji:
$ 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
lub
$ 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
Cytując ze strony podręcznika dig :
Wyszukiwanie wsteczne - mapowanie adresów na nazwy - jest uproszczone przez opcję -x . addr to adres IPv4 w notacji dziesiętnej z kropkami lub adres IPv6 rozdzielany dwukropkami. Gdy ta opcja jest używana, nie ma potrzeby podawania argumentów nazwy, klasy i typu. dig automatycznie wyszukuje nazwę taką jak 11.12.13.10.in-addr.arpa i ustawia typ zapytania i klasę odpowiednio na PTR i IN.
W systemie Windows ping -a 10.10.10.10
W przypadku systemu Windows spróbuj:
NBTSTAT -A 10.100.3.104
lub
ping -a 10.100.3.104
W przypadku systemu Linux spróbuj:
nmblookup -A 10.100.3.104
Są prawie takie same.
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"
jeśli potrzebujesz tylko nazwy, bez dodatkowych informacji, dodaj [0] na końcu:
python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"
python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
To zależy od kontekstu. Myślę, że masz na myśli nazwę hosta systemu operacyjnego (zwracaną hostname
po zalogowaniu). To polecenie dotyczy tylko nazw wewnętrznych , więc zapytanie o nazwę komputera wymaga różnych systemów nazewnictwa. Istnieje wiele systemów, które używają nazw do identyfikacji hostów, w tym DNS, DHCP, LDAP (DN) hostname
itp., A wiele systemów używa zeroconf do synchronizowania nazw między wieloma systemami nazewnictwa. Z tego powodu wyniki z hostname
czasami będą pasować do wyników z dig
(patrz poniżej) lub innych systemów nazewnictwa, ale często nie będą pasować.
DNS jest zdecydowanie najpowszechniejszy i jest używany zarówno w Internecie (np. google.com. A 216.58.218.142
), Jak iw domu (mDNS / LLMNR), więc oto jak wykonać odwrotne wyszukiwanie DNS : dig -x <address>
( nslookup
i host
są prostsze, zawierają mniej szczegółów i mogą nawet zwracać inne wyników; jednak dig
nie jest dołączony do systemu Windows).
Pamiętaj, że nazwy hostów w ramach CDN nie będą tłumaczone na kanoniczną nazwę domeny (np. „Google.com”), ale raczej nazwę hosta adresu IP hosta, o który pytałeś (np. „Dfw25s08-in-f142.1e100.net”; interesująca ciekawostka: 1e100 to 1 googol).
Należy również pamiętać, że hosty DNS mogą mieć więcej niż jedną nazwę. Jest to typowe dla hostów z więcej niż jednym serwerem internetowym (hosting wirtualny), chociaż staje się to mniej powszechne ze względu na rozprzestrzenianie się technologii wirtualizacji. Te hosty mają wiele rekordów DNS PTR .
Na koniec należy zauważyć, że rekordy hosta DNS mogą zostać zastąpione przez maszynę lokalną za pośrednictwem / etc / hosts . Jeśli nie otrzymujesz oczekiwanej nazwy hosta, sprawdź ten plik.
Nazwy hostów DHCP są odpytywane w różny sposób w zależności od tego, które oprogramowanie serwera DHCP jest używane, ponieważ (o ile wiem) protokół nie definiuje metody zapytań; jednak większość serwerów umożliwia to w jakiś sposób (zwykle za pomocą konta uprzywilejowanego).
Uwaga Nazwy DHCP są zwykle synchronizowane z serwerami DNS, więc często widzi się te same nazwy hostów w tabeli najmniejszych klientów DHCP oraz w rekordach A serwera DNS (lub AAAA dla IPv6). Ponownie, jest to zwykle wykonywane jako część zeroconf.
Należy również zauważyć, że tylko dlatego, że istnieje dzierżawa DHCP dla klienta, nie oznacza, że jest on nadal używany.
NetBIOS dla TCP / IP (NBT) był używany przez dziesięciolecia do rozpoznawania nazw, ale od tego czasu został zastąpiony przez LLMNR do rozpoznawania nazw (część zeroconf w systemie Windows). W przypadku tego starszego systemu można nadal przesyłać zapytania za pomocą nbtstat
(Windows) lub nmblookup
(Linux).
Jeśli szukasz komputera z systemem Windows, wypróbuj poniższe polecenie:
nbtstat -a 10.228.42.57
Możesz również użyć polecenia traceroute.
http://linux.die.net/man/8/traceroute
po prostu użyj traceroute, pokaże Ci ścieżkę routingu z nazwami hostów (rozwiązanymi adresami IP)
W większości przypadków polecenie traceroute działa dobrze. Polecenia nslookup i host mogą zakończyć się niepowodzeniem.