Zakładając, że nie masz skonfigurowanego DNS dla swojej sieci lokalnej, najlepszym rozwiązaniem jest prawdopodobnie użycie NMap, który może (w zależności od przełączników, które go przekazujesz, konfiguracji hostów i szczęściarze) Dostawca karty sieciowej i adres MAC, usługi działające na każdym hoście, a nawet wersja tych usług i system operacyjny, na którym działa system.
Konkretne polecenie, którego użyłbym do tego, to:
nmap -PR -sS -sU -sV -O -T4 192.168.0.0/16
Zamień 192.168.0.0/16
na właściwy CIDR dla Twojej sieci.
Określone opcje wykonują następujące czynności:
-PR
: Używa żądań ARP zamiast ICMP ECHO_REQUEST w celu ustalenia, co jest online. Jest to niewielka optymalizacja wydajności (i tak musisz wysłać żądanie ARP), a także prawidłowo wykryje hosty, które blokują ICMP ECHO_REQUEST jako online.
-sS
: Robi to standardowy skan TCP SYN, z którego korzysta NMap, bye dfault.
-sU
: Podobne do -sS
, ale dla UDP zamiast TCP.
-sV
: Włącza wykrywanie wersji. Daje to dużo czasu na skanowanie, więc możesz go bezpiecznie wykluczyć, jeśli nie potrzebujesz tych informacji, aby dowiedzieć się, co jest.
-O
: Włącza wykrywanie systemu operacyjnego. Wykorzystuje informacje o czasie i inne dane z innych skanów, aby dowiedzieć się, jaki system operacyjny działa. Jest właściwie dość dokładny, o ile w zdalnym systemie jest kilka portów TCP i UDP otwartych.
-T4
: To znacznie przyspiesza skanowanie kosztem zwiększonego obciążenia sieci. -T5
pójdzie jeszcze szybciej, ale skanowanie nie będzie działać niezawodnie, chyba że wszystko w sieci będzie bezczynne.
Jeśli chcesz uzyskać więcej informacji, sugeruję zajrzeć do dokumentacji NMap, jest ona dość wyczerpująca i prawdopodobnie jest to jeden z najlepiej udokumentowanych projektów typu open source.
-sV
go znacznie przyspieszy (wykrywanie wersji usługi zajmuje dużo czasu).-F
pomoże również, co spowoduje, że NMap skanuje tylko jedną dziesiątą portów, które normalnie sprawdza. Inną kwestią jest to, że chociaż NMap wykonuje skanowanie równoległe, nie używa pingów rozgłoszeniowych (ponieważ nie są one niezawodne), więc niezależnie skanuje wszystkie hosty w podsieci.