Если вы не можете получить надежную информацию о состоянии канала с вашего устройства Ethernet (которое большинство чипсетов должны поддерживать в настоящее время, кстати ...), отправка запроса ARP для каждого IP-адреса в вашей локальной подсети - достойная замена. Затраты минимальны, и как только вы получите один ответ, вы можете быть уверены, что все еще подключены к сети.
Единственная возможная проблема, которую я вижу здесь, заключается в том, что если ваше устройство находится в подсети / 8, то может пройти много времени для прохождения всех 4294967296 возможных IP-адресов. Поэтому вам может потребоваться некоторая оптимизация, например, отправка только запросов ARP для вашего шлюза по умолчанию, а также всех IP-адресов, которые в настоящее время находятся в вашей таблице ARP.