Muszę znaleźć nazwę hosta UNIX, którego adres IP jest znany, bez logowania się do tego hosta UNIX
unix
command-line
hostname
user75536
źródło
źródło
Odpowiedzi:
Użyj nslookup
źródło
sudo yum install bind-utils
najpierw uruchomić . spowoduje to zainstalowanie wyszukiwania nslookupMożesz również wykonać odwrotne wyszukiwanie DNS
host
. Po prostu podaj adres IP jako argument:źródło
Narzędzie innego NS lookup, które mogą być wykorzystywane do wyszukiwania jest odwróconą
dig
z-x
opcji:lub
Cytując ze strony podręcznika dig :
źródło
W systemie Windows ping -a 10.10.10.10
źródło
W przypadku systemu Windows spróbuj:
lub
W przypadku systemu Linux spróbuj:
Są prawie takie same.
źródło
jeśli potrzebujesz tylko nazwy, bez dodatkowych informacji, dodaj [0] na końcu:
źródło
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 zhostname
czasami będą pasować do wyników zdig
(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
ihost
są prostsze, zawierają mniej szczegółów i mogą nawet zwracać inne wyników; jednakdig
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) lubnmblookup
(Linux).źródło
Pozostałe odpowiedzi są poprawne - użyj odwrotnego wyszukiwania DNS. Jeśli chcesz to zrobić za pomocą języka skryptowego (Python, Perl), możesz użyć API gethostbyaddr.
źródło
Jeśli szukasz komputera z systemem Windows, wypróbuj poniższe polecenie:
źródło
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)
źródło
W większości przypadków polecenie traceroute działa dobrze. Polecenia nslookup i host mogą zakończyć się niepowodzeniem.
źródło