jak znaleźć adresy mac wszystkich komputerów w sieci

31

Czy istnieje jakiś prosty sposób, aby dowiedzieć się, jaki jest adres MAC wszystkich komputerów w mojej sieci, zamiast wykonywania SSH na każdym z nich, a ifconfig | grep HWaddrjeśli w sieci jest 300 komputerów, naprawdę potrzebuję łatwego rozwiązania.

zarejestrowany użytkownik
źródło
2
Ze względu na kompletność: arp -n 0.0.0.0 Gdzie 0.0.0.0 to adres IP urządzenia. Pamiętaj, że nadal będziesz mieć wyszukiwanie pojedynczo. Czasami potrzebujesz tylko jednego, a to z pewnością jest szybsze niż sshing do każdego pudełka. Co jeśli jest to urządzenie z systemem Windows lub drukarka?
d -_- b
2
sudo arp-scan --localnet
Silver Moon

Odpowiedzi:

34

Możesz użyć nmap do uruchomienia skanowania ping.

nmap -sP 192.168.254.*

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds

Edytować:

Skrypt sed do filtrowania danych wyjściowych do adresu IP -> MAC - umieść to w pliku.

/^Host.*latency.*/{
    $!N
    /MAC Address/{
        s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
    }
}  
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/

i użyj tego w ten sposób

nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0
Iain
źródło
tak, tego właśnie szukałem, czytam inne wiadomości, a także nie jest to przełącznik Cisco, ale dzięki wszystkim za wiadomości.
Zarejestrowany użytkownik
1
Odkryłem, że jedynym sposobem na wyświetlenie adresów MAC jest uruchomienie nmap jako root. Wydaje się również, że sedscript już nie działa. [Tekst w pobliżu adresu IP zmienił się.
mnich
Raport skanowania Nmapa dla 192.168.1.147 Host działa (opóźnienie 0,00045 s). Adres MAC: XX: XX: XX: XX: XX: XX
mnich
16

Użyj nmap. Ważne, aby uruchomić go jako root, aby uzyskać adresy MAC. Przykład:

sudo nmap -sP 192.168.1.0/24 

Skanuje 192.168.1.1 - 192.168.1.255. Wyszukaj notację CIDR na wiki, jeśli nie znasz tej notacji podsieci.

Powinieneś być w stanie uzyskać nmap z repozytoriów każdej nowej dystrybucji Linuksa, np

sudo apt-get install nmap

lub

sudo yum install nmap

Przykładowe dane wyjściowe z mojej sieci:

Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).
James Little
źródło
tak, twoja metoda jest dość prosta.
Zarejestrowany użytkownik
7

Tak długo, jak uruchomisz to polecenie z hosta w tym samym segmencie sieci, nmapbędzie raportować cały adres MAC dla każdego odkrytego hosta.

Na przykład:

sudo nmap 192.168.1.0/24 -sP

Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST

Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)

W przypadku adresów MAC muszę być rootem na moim systemie Ubuntu. Prostą metodą dla pojedynczego hosta jest pingowanie go i sprawdzenie tabeli arp, arp -ajeśli chcesz używać tylko poleceń normalnie zawartych w początkowej instalacji dystrybucji:

arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0
Kyle Brandt
źródło
7

Wypróbuj to polecenie:

arp-scan --interface=eth0 192.168.1.0/24
Dogan YILMAZ
źródło
Wiem, że to naprawdę stare pytanie. Jednak nmap nie podał mi żadnych adresów MAC. Arp-scan zrobił. Dzięki.
MikeP
5

W zależności od topologii sieci LAN najlepszym rozwiązaniem może być wyświetlenie tablicy adresów MAC na przełącznikach.

Na przykład, jeśli twoją infrastrukturą przełączników jest Cisco, możesz spróbować

sh mac address-table

na każdym przełączniku.

Jeśli masz wiele przełączników, możesz zautomatyzować to zadanie za pomocą SNMP .

Inna opcja i (ponownie) w zależności od topologii i typu sprzętu sieciowego, możesz również spróbować uzyskać adresy MAC urządzeń wyświetlające tablicę arp na routerach.

Za pomocą jednej z tych dwóch metod uzyskasz również listę adresów mac dowolnych urządzeń podłączonych do infrastruktury sieci: komputerów, drukarek, punktów dostępu itp. W pierwszym przypadku nawet urządzeń bez adresu IP. To może być lub nie być pożądane, ale warto spróbować.

jliendo
źródło
1

Ponieważ wspomniałeś o ssh w maszynach w twojej sieci, możesz również użyć tego skrótu:

nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a
Niels
źródło
0

Możesz użyć programu o nazwie SIW, jest bezpłatny i skanuje sieć bez żadnych uprawnień lub argumentów.

URL: http://www.gtopala.com/

Dostępne w .exe lub pełnej instalacji.

Mikrofon
źródło
.exe? Tag mówi „Linux-Netowrking”
d -_- b