Anda selalu dapat mencoba melakukan ping ke alamat broadcast subnet Anda. Itu tergantung pada pengaturan jaringan lokal Anda, tetapi Anda dapat mengetahuinya dengan
$ ifconfig wlp4s0 | grep Bcast
inet addr:192.168.199.47 Bcast:192.168.199.255 Mask:255.255.255.0
Ping dari Linux memerlukan -b
sakelar baris perintah, yang merupakan tindakan pencegahan dari perintah.
Namun, ini tidak menjamin bahwa Anda akan mengumpulkan semua alamat MAC dari semua perangkat yang terhubung ke subnet Anda karena terserah perangkat itu sendiri untuk benar-benar menjawab permintaan ICMP ECHO yang dikirim ke alamat broadcast, bahkan jika itu dimaksudkan sebaliknya di usia awal. TCP/IP RFC (lihat apakah /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
disetel ke 1).
Agar lebih yakin untuk mencakup semua alamat, lakukan ping satu per satu dengan
$ for ip in 192.168.199.{1..254}; do ping -c1 ${ip} & done
Kurang lebih hal yang sama dicapai jika Anda menggunakan tipe pemindaian khusus nmap dengan
$ sudo nmap -sn -PE -n 192.168.179.1-254
Itu juga cara yang saya rekomendasikan untuk menyelidiki karena Anda dapat menyempurnakan cara Anda menanyakan alamat MAC klien.
Yang Anda lakukan hanyalah melakukan ping ke alamat broadcast. Ping versi GNU/Linux mengharuskan Anda menggunakan -b
beralih
-b Izinkan melakukan ping ke alamat broadcast
Tampaknya tidak ada padanan langsung dari Solaris -s
beralih baik (itu hanya melakukan ping setiap detik dan mengumpulkan statistik) tapi mungkin itu terkubur di halaman manual Linux- layak dibaca (seperti yang mungkin Solais).
Saya juga tidak akan melakukan ping 255.255.255.255 (mungkin perlu beberapa saat untuk menyelesaikannya) saya akan menggunakan alamat siaran jaringan tempat saya terhubung.