Sie können jederzeit versuchen, die Broadcast-Adresse Ihres Subnetzes anzupingen. Dies hängt von der Einrichtung Ihres lokalen Netzwerks ab, aber Sie können es mit
herausfinden$ ifconfig wlp4s0 | grep Bcast
inet addr:192.168.199.47 Bcast:192.168.199.255 Mask:255.255.255.0
Pingen von Linux erfordert den -b
Befehlszeilenschalter, der eine Art Vorsichtsmaßnahme des Befehls ist.
Dies garantiert jedoch nicht, dass Sie alle MAC-Adressen von allen mit Ihrem Subnetz verbundenen Geräten erfassen, da es Sache des Geräts selbst ist, an Broadcast-Adressen gesendete ICMP-ECHO-Anforderungen tatsächlich zu beantworten, auch wenn dies in den frühen Zeiten anders vorgesehen war die TCP/IP-RFCs (siehe ob /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
auf 1 gesetzt).
Um sicherzugehen, dass alle Adressen abgedeckt werden, pingen Sie sie einzeln mit
an$ for ip in 192.168.199.{1..254}; do ping -c1 ${ip} & done
Mehr oder weniger dasselbe wird erreicht, wenn Sie einen speziellen Scan-Typ von nmap mit
verwenden$ sudo nmap -sn -PE -n 192.168.179.1-254
Das ist auch meine empfohlene Vorgehensweise, da Sie die Art und Weise, wie Sie die Clients nach ihren MAC-Adressen fragen, feinabstimmen können.
Alles, was Sie tun, ist die Broadcast-Adresse zu pingen. Die GNU/Linux-Version von Ping erfordert, dass Sie den -b
verwenden Schalter
-b Ping einer Broadcast-Adresse zulassen
Es scheint kein direktes Äquivalent zu Solaris -s
zu geben wechseln Sie entweder (es pingt nur jede Sekunde und sammelt Statistiken), aber vielleicht ist es in den Linux-Manpages vergraben - es lohnt sich, es zu lesen (ebenso wie die von Solais).
Ich würde auch nicht 255.255.255.255 pingen (es kann eine Weile dauern), ich würde die Broadcast-Adresse des Netzwerks verwenden, mit dem ich verbunden war.