Jak ustalić nazwę hosta na podstawie adresu IP w sieci Windows?


84

Moja sieć LAN ma 50 hostów Windows. W wierszu polecenia systemu Windows próbuję wykonać polecenie ping, aby uzyskać adres IP uruchomionego komputera z systemem Windows.

Pytanie brzmi: jak uzyskać nazwę hosta określonego adresu IP w tej samej grupie roboczej systemu Windows?

Innym pytaniem jest, jak poznać nazwę hosta komputera z systemem Windows z Linux-a, jeśli mam adres IP? Jakiego polecenia używasz? Mam jednego hosta z systemem Kubuntu 9.04.

Odpowiedzi:


92

Jeśli chcesz określić nazwę komputera z systemem Windows bez DNS, powinieneś wypróbować Nbtstat . Ale to będzie działać tylko w systemie Windows:

Na przykład,

NBTSTAT -A 10.10.10.10

W systemie Linux powinieneś wypróbować nmblookup, który robi prawie to samo.


3
NBTSTAT polega na tym, że NetBIOS jest ładowany i uruchomiony, co jest często wyłączone w większych organizacjach z własną infrastrukturą AD i DNS. Prawdopodobnie jest to bezpieczne założenie dla grupy roboczej złożonej z 50 osób.
— GAThrawn

Dzięki, Decca, nbtstat to rock btw ... Nie udało mi się na Linux-ie nmblookup 192.168.1.92 odpytanie 192.168.1.92 na 192.168.1.255 nazwa_zapytania nie znalazło nazwy 192.168.1.92
— billyduc

8
Polecenie nmblookup -A 192.168.1.92 działa z powodzeniem
— billyduc

1
nmblookupjest częścią pakietu Samby mojej dystrybucji. Nie jestem pewien, dlaczego nmblookupIP do nazwy hosta jest częścią Samby (kod systemu plików w sieci i kod usług drukowania).
— Trevor Boyd Smith

60

Technicznie preferowaną metodą jest pisanie nslookup <ip address>

NSLOOKUP faktycznie pyta serwer DNS o adres IP nazwy hosta. Ping użyje lokalnej pamięci podręcznej Resolver DNS , która może być niepoprawna do momentu opróżnienia.


zakładając, że ma on wewnętrzny serwer dns do rozpoznawania nazw. Op również stwierdził, że chce rozwiązać nazwę hosta z ip, więc zakładam, że nie zna nazwy hosta na początek. również, jeśli o mnie chodzi, nie ma prawidłowego lub niewłaściwego sposobu na zrobienie tego. istnieje wiele metod, z których każda jest poprawna i każda z nich może dawać różne wyniki.
— joeqwerty

3
Nie. Korzystanie z PING nie jest najlepszym sposobem na zrobienie tego. Możesz to zrobić, nslookup <ip address>a to rozwiąże wyszukiwanie wsteczne.
— Izzy

1
Odwołujesz się do NSLOOKUP jak do jakiegoś wewnętrznego narzędzia do rozwiązywania problemów ... Tak czy inaczej, NSLOOKUP jest technicznie lepszą opcją.
— Izzy

1
Ale on ma rację. nslookup jest użyteczny tylko w tym scenariuszu, jeśli istnieje serwer DNS (wewnętrzny lub zewnętrzny), który ma wpisy stref wyszukiwania wstecznego dla hostów PO, a maszyny OP są skonfigurowane do korzystania z tego serwera DNS.
— Maximus Minimus,

3
@Izyzy Zarejestrowałem się jako nowy członek, aby podziękować za wskazówkę dla NSLOOKUP, Izzy. Spośród wszystkich powyższych rzeczy, to jedyna, która działała dla mnie. Stukrotne dzięki. --Jeff Moden
— Jeff Moden

9

W systemie Windows możesz użyć ping -a x.x.x.xpróby rozwiązania nazwy hosta z adresu IP .


1
PING może powodować niedokładne wyniki, szczególnie jeśli aktywnie pracujesz nad problemami DNS.
— Izzy

operacja nie stwierdziła, że ​​pracuje nad kwestiami dns, sugerował, że pracuje nad problemami z rozwiązywaniem nazw. dns nie jest jedynym mechanizmem rozpoznawania nazw w systemie Windows i nie jest wymaganym mechanizmem rozpoznawania nazw. stwierdził również, że pracuje w grupie roboczej, więc nie przyjąłem żadnych założeń dotyczących posiadania infrastruktury dns.
— joeqwerty

DNS jest faktycznie wymagany dla Active Directory. Po prostu nie mamy wystarczających informacji, aby powiedzieć coś ostatecznego na ten temat.
— Maximus Minimus,

@ mh: tak, ale znowu ... za mało informacji z op.
— joeqwerty

Dziękuję wam wszystkim ! Nie mam usługi Active Directory, mam jedno rozwiązanie DNS dla dhcp, poczty, serwera WWW w mojej firmie, większość hostów pracujących pracuje pod Windows XP i używa tego samego WORKGROUP.
— billyduc


4

Dla użytkowników komputerów Mac smbutil -v status -ae x.x.x.xdziała. Możesz także użyć arp -ado uzyskania adresów mac dla wszystkiego w sieci.


1

nmblookup może nie działać dobrze w przypadku hostów Linux, ponieważ nazwa NetBIOS jest przestarzała. A w systemie Windows jest ograniczony do sieci lokalnej.


2
Nie, to jest źle. Netbios (niestety) nie jest przestarzały i faktycznie jest wymagany do wielu ważnych funkcji Active Directory.
— HopelessN00b

Czy ktoś może wskazać, w jakich przypadkach AD DS nadal polega na Netbios? Odbyły się rozmowy, że Netbios musiał być deprecjonowany od czasów Windows Server 2003. Czy nadal jest to w jakiś sposób wymagane w sieciach AD DS systemu Windows Server 2012?
— Michaił

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.