Вашему компьютеру нужно только отслеживать записи ARP для компьютеров в одной подсети. Для всех остальных компьютеров он проходит через роутер, чтобы туда попасть. Маршрутизатор хранит записи arp для всех известных ему устройств. При этом, если ваш компьютер подключен к нескольким подсетям (обычно с использованием нескольких сетевых карт или нескольких VLAN, одной сетевой карты), то он будет иметь записи ARP для всех сетей, к которым он подключен.
Если вам не нужны MAC-адреса, используйте другой инструмент, основанный на IP-адресе. Если у вас есть доступ для запроса вашего основного маршрутизатора с помощью инструментов SNMP, вы можете получить много информации. Если вы знаете только свои диапазоны IP-адресов, то вы можете написать простой скрипт цикла или использовать сетевой сканер для проверки связи с каждым адресом. Как уже упоминалось, nmap - отличный инструмент для этого.
Если вам нужен MAC-адрес для устройства вне вашей подсети, для некоторых типов устройств могут быть хитрости. Например, в сети Windows вы можете использовать Windows nbtstat -a hostname
для возврата информации NetBIOS на определенной рабочей станции, на которой включен NetBIOS. Я не уверен, что все доступно в мире OS X. Для некоторых принтеров вы можете запросить их страницы конфигурации.