Jak znaleźć nazwę komputera w sieci LAN z adresu IP?


54

Moja sieć obejmuje maszyny z systemem Linux i inne z systemem Windows. A na moim komputerze działa Linux.


2
Pytanie jest nieco niejasne, co spowodowało różne - i dobre - odpowiedzi poniżej. Czy chcesz znaleźć nazwę DNS hosta? Czy chcesz znaleźć nazwę WINS? Czy chcesz przeszukać sieć w poszukiwaniu wszystkich znalezionych hostów? Odpowiedzi na wszystkie te pytania - ale konkretna pożądana odpowiedź nie jest znana.
Mei

Odpowiedzi:


35

Wpisz terminal

arp -a

Wyświetli całą nazwę hosta w sieci LAN, niezależnie od tego, czy jest to Linux, czy Windows.


14
To nie pokazuje nic w mojej sieci lokalnej, która ma ponad 30 maszyn z Linuksem ...
Cerin

@Cerin Czy sam jesteś na komputerze z systemem Linux?
Shashank Sawant

1
W Ubuntu 14.04 napisano: „? (192.168.1.2) o 00: 22: 6b: f2: 33: b3 [eter] na wlan0”, dając mi tylko informacje o moim routerze (mój laptop jest podłączony do niego przez Wi-Fi, jak około 10 innych bankomatów). Patrząc na man arp, mówi także „arp - manipuluj pamięcią podręczną ARP systemu”. Jak to narzędzie powinno rozwiązać pierwotne pytanie?
gerlos

5
To samo tutaj na Ubuntu 14.04, to tylko lista kilku? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Elijah Lynn

2
To samo tutaj. Mogę uzyskać dostęp do lokalnego hosta tylko za pomocą nazwy hosta, nic więcej nie wydaje się reklamować jego nazwy hosta, nawet maszyny Linux, które sam skonfigurowałem.
unfa

19

Wpisz terminal

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

To da ci:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Gdzie HOST.DOMAIN jest nazwą DNS komputera.


10
Pokazuje wszystkie aktywne adresy IP, ale pokazuje tylko domeny dla komputerów, które jawnie mają skonfigurowaną domenę niestandardową na moim lokalnym serwerze Bind. Nie pokazuje żadnych lokalnych nazw hostów, co moim zdaniem jest tym, co OP chce osiągnąć.
Cerin

ta odpowiedź jest bardzo szybka.
Activedecay

4
-sP mogło zostać zmienione na -sn w zależności od twojej wersji nmap. Z podręcznika nmap 7.12: -sn (bez skanowania portów) W poprzednich wersjach Nmap -sn było znane jako -sP.
Lemmings19,

Podobnie jak w przypadku arppolecenia, uważam, że ta odpowiedź działa tylko wtedy, gdy masz lokalny serwer DHCP i serwer / proxy DNS, które komunikują się ze sobą, dzięki czemu nazwy hostów zarejestrowane za pomocą dzierżaw DHCP mogą być rozwiązane (lub odwrócone, w tym przypadku ) przez DNS.
Doktor J

9

Co jeśli spróbujesz:

Możesz uruchomić go w systemie Windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

na Ubuntu możesz zainstalować nbtscan. Więcej informacji można znaleźć tutaj: http://www.unixwiz.net/tools/nbtscan.html

Mam nadzieję, że to pomoże


Dziękuję bardzo, ale wygląda na to, że nbtscan wykrywa maszyny tylko z systemem Windows. Mam 2 komputery z systemem Windows i kolejne 2 z systemem Linux. Wykrywa tylko dwa działające systemy Windows.
Islam Hassan

2
możesz spróbować nmblookup? powinien być zainstalowany już na Ubuntu
Brett

Przepraszam, przeczytałem samouczek, ale nie mogłem wymyślić, jak napisać polecenie, które rozwiązuje mój problem. Nie widzę opcji przyjmujących IP jako dane wejściowe. Czy możesz napisać dla mnie polecenie?
Islam Hassan

6
spróbuj nmblookup -A xxx.xxx.xx, gdzie x jest adresem IP urządzenia. Zrobiłbym więc nmblookup -A 192.168.1.6 i zwróciłoby nazwę mojej maszyny. Musisz to zrobić dla każdej maszyny.
Brett

1
@Brett: (+1) powinieneś zamienić swój komentarz w odpowiedź, ponieważ jest to jedyna metoda, która zadziałała dla mnie (zarówno okna, jak i Linux). Dzięki
lepe

7

Odwrotne wyszukiwanie nazw Netbios może osiągnąć więcej niż „nazwa hosta”, która jest funkcją DNS i tcp / ip. nmblookup z parametrem -A zwraca nazwy urządzeń oraz adresy mac. Wypróbuj coś takiego:

nmblookup -A 192.168.1.2

To była odpowiedź, która zadziałała dla mnie
humphrey

To jest odpowiedź.
Campa

3

Jeśli w sieci działa serwer DHCP, zwykle na modemie / routerze, istnieje szansa, że ​​będzie można zobaczyć adresy przypisane do DHCP - często przez stronę internetową, która często wymienia nazwy komputerów obok przydzielonych adresów IP .


2

Po prostu skorzystam

nslookup xxx.xxx.xxx.xxx

pokaże mi nazwę hosta (zazwyczaj nazwę komputera)


4
Właśnie mnie to ** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
dostało

działa dla mnie :)
vk.edward.li

2
nslookup przeprowadza wyszukiwanie DNS, więc aby to działało, hosty muszą być zarejestrowane w DNS. Jeśli masz zwykłą sieć Windows, w prywatnym zakresie adresów IP, bez skonfigurowanego ActiveDirectory, nie będzie działać. Nazwy NetBios i DNS to różne bestie.
bogdan.mustiata

1

Według mojej najlepszej wiedzy nie ma dostępnego narzędzia do konwersji adresu IP na nazwę NetBIOS. Wyobrażam sobie, że jakiś program do sprawdzania zasięgu sieci lub program do testowania penetracji może być w stanie dostarczyć ci tyle informacji. Jednak wszystkie komputery musiałyby znajdować się w tej samej domenie i podsieci.


Czy możesz podać nazwę programu?
Islam Hassan

1
OP chce czegoś przeciwnego. np. IP-> nazwa hosta
Cerin

Wiem, że to stare ... i OP używa Linuksa, a nie Windowsa ... ale w systemie Windows możesz uruchomić, nbtstat -A <IP Address>aby uzyskać nazwę NetBIOS z samego adresu IP. Działa to w różnych podsieciach i nie trzeba być w tej samej domenie. Również bieganie nbtstat -a <NetBIOS Name>zrobi odwrotnie. Mam nadzieję, że to pomoże ...
John Homer
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.