Jak mogę znaleźć adres MAC komputerów w sieci?
Muszę odkryć maszyny, które są dostępne tylko z zainstalowanym BIOSem (bez systemu operacyjnego).
Muszę znaleźć adres MAC maszyn, które działają.
networking
tcp
bios
mac-address
Peter Mortensen
źródło
źródło
Odpowiedzi:
Będziesz musiał uzyskać dostęp do informacji dostępnych na zarządzanych przełącznikach. Jeśli masz niezarządzaną sieć, nie widzę sposobu, aby to zrobić.
Zakłada się, że komputery docelowe są zdolne do Wake-on-LAN (WoL). W takim przypadku ustanowione jest łącze do serwera (poszukaj migającej diody LED łącza), a karta sieciowa nasłuchuje transmisji WoL. AFAIK, karta nie odpowiada na nic w tym stanie. Jeśli nie ma WoL, karta najprawdopodobniej jest wyłączona (brak diody LED łącza) i w ogóle nie będzie działać.
źródło
Jeśli maszyny nie są zasilane, jest to niemożliwe.
Jeśli są one zasilone, sądzę, że jest to również niemożliwe, ponieważ potrzebujesz minimalnego stosu sieciowego, aby przynajmniej odpowiedzieć na takie pytania, jak zapytania ARP itp., Które nie działają bez zainstalowanego systemu operacyjnego.
To, co może działać (nie wiem i nie mogę teraz przetestować), to to, że karta sieciowa i przełącznik komunikują się, gdy karta sieciowa jest podłączona lub włączona, a przełącznik w ten sposób uczy się adresu MAC. W takim przypadku potrzebujesz przełącznika zarządzalnego i zapytaj go o podłączone adresy mac.
źródło
Możesz użyć Nmap do wykonania bardzo szybkiego skanowania ARP przy użyciu następującej składni.
Wykorzystuje ping ARP (tylko żądania ARP, bez ICMP, UDP lub TCP, bez skanowania portów) do skanowania określonego zakresu adresów IP i rejestrowania odpowiedzi adresu IP / adresu MAC / nazwy hosta w pliku XML (nmap.xml).
Napisałem skrypt PowerShell, który munguje plik XML i wyrzuca plik CSV . To również odfiltrowuje hosty w dół. Uważam, że jest to łatwiejsze w użyciu w programie Excel niż w pliku XML. Oto skrypt, jeśli ktoś jest zainteresowany.
źródło
Scantype n not supported
. Najwyraźniej flaga-sn
nie jest obsługiwana w Nmap 4.x.(W przełącznikach Cisco polecenie to
show mac-address-table
).źródło
Z komputera z systemem Unix, nasłuchując komputerów bez systemu operacyjnego w tej samej sieci LAN, a jeśli to możliwe za pośrednictwem koncentratora (nie przełącznika), możesz spróbować
Możesz także spróbować
wireshark
(z komputera z systemem operacyjnym). Ponownie, lepiej użyć Hub do przechwytywania wszelkiej komunikacji z komputerami BIOS, w tym transmisji.źródło
Podstawowym problemem jest to, że są to informacje warstwy 2, więc tylko przełączniki je widzą. Niektóre przełączniki zapewniają interfejs, który pozwala zerknąć na te informacje, ale jeśli nie jedyny sposób, aby je zdobyć, to przechwycenie warstwy fizycznej, np. Poprzez zainstalowanie koncentratora między przełącznikiem.
Jeśli używasz zarządzanych przełączników, informacje te są prawdopodobnie dostępne z przełącznika. Niektóre zintegrowane routery / przełączniki użytkownika końcowego (takie jak te, które często pakują również modemy ADSL) czasami mają listę klientów DHCP, która zawiera adresy MAC.
Jeśli używasz niezarządzanych przełączników i naprawdę chcesz poznać te informacje, zalecamy zakup koncentratora i tymczasowe zastąpienie go przełącznikiem. Następnie możesz podłączyć komputer z Wireshark do koncentratora i przechwytywać pakiety ARP w celu zapisywania adresów MAC. Alternatywnie możesz użyć Echolot, aby to zrobić za Ciebie - selektywnie śledzi pakiety ARP i buduje bazę adresów MAC.
źródło
Oto rozwiązanie, które zadziałało dla mnie:
źródło
Bardzo łatwą małą sztuczką, którą możesz zrobić w ciągu 2 sekund, jest fakt, że każdy system operacyjny zapisuje tabelę z adresem MAC i adresem IP dowolnego urządzenia, z którym współpracuje. Jest to znane jako TABELA ARP. Pytanie brzmi: jak wymusić interakcję ze wszystkimi urządzeniami? Możesz po prostu pingować adres IP emisji. Nie jest to idealne, ponieważ niektóre urządzenia lub zapora mogą blokować żądanie ping ICMP, ale działa w wielu scenariuszach.
Polecenia to (w adresie IPv4 192.168.0.255):
W systemie Linux:
Poczekaj kilka sekund, aż urządzenia odpowiedzą, a następnie:
Ping IPV6 patrz komentarz Giedriusa Rekasiusa
Nie jest idealny, ale bez narzędzi, bez badań, bez straty czasu, działa w każdym większym systemie operacyjnym i jest szybki.
źródło
ping6 -c2 -n ff02::1%wlan0
. Wystarczy tylko zaktualizować nazwę używanego interfejsu sieciowego, adres IP używany do tego celu jest zawszeff02::1
niezależny od sieci, w której się znajdujesz.Przeskanuj sieć za pomocą Nmapa, a następnie sprawdź tabelę ARP (
arp -a
w dystrybucjach Linuksa).źródło
Jak powiedzieli inni, jeśli masz niezarządzane przełączniki lub BootP / PXE, nie ma łatwego sposobu na uzyskanie adresów MAC komputerów bez systemu operacyjnego.
Jeśli na uruchomionych komputerach jest uruchomiony system Windows, łatwo jest go napisać (zwykle za pomocą WMI)
Tutaj jest kilka przykładów: http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0].Type=SearchText&f[0].Value=MAC+address&x=0&y= 0
źródło
Chciałem zasugerować zmianę tablicy adresów MAC, ale ktoś już ją opisał powyżej.
Jeśli którykolwiek z komputerów ma system operacyjny i ma adres IP, możesz podłączyć się do tej samej sieci LAN, możesz użyć NMAP (lub wersji GUI takiej jak Zenmap) z http://nmap.org/ ... jeśli uruchomisz w tej samej sieci LAN powinieneś uzyskać informacje o adresie MAC dla wszystkich komputerów, które odpowiedzą.
Przydałoby się lepiej zrozumieć, dlaczego musisz uzyskać adresy MAC, na wypadek, gdyby istnieje lepszy sposób na osiągnięcie tego samego wyniku.
źródło
Możesz zbierać informacje ARP, na przykład przez stale działający arpalert. Dzięki temu zestaw adresów ARP będzie widoczny po uruchomieniu.
Wyłączone maszyny nie będą wysyłać odpowiedzi ARP.
Aby przyspieszyć ten proces, możesz użyć skanu nmap ping (nmap -sP) w sieci z serwera, na którym działa arpalert, w celu wyzwolenia wszystkich możliwych (działających i działających) hostów w odpowiedzi na zapytanie arp. Dzięki regularnemu późniejszemu skanowaniu nmap ping masz większe szanse na złapanie krótko żyjącego hosta.
fragment z arpalert:
fragment kodu nmap:
Rozejrzyj się tutaj:
źródło
Używam: nmap -sP 192.168.1.1/24
(zastąp 192.168.1.1/24 swoim zakresem IP)
Pokaże tylko działające maszyny i da ci coś takiego:
Jeśli nie masz zainstalowanego systemu operacyjnego, możesz użyć Linux Live CD, nmap jest prawdopodobnie dostępny w większości z nich
źródło