Моя цель - получить объявления mac моего маршрутизатора. У меня есть идентификатор производителя, где я фильтрую, например, всегда начинается с c0:c0:c0, так что я использую:
arp -n | grep -i 'c0:c0:c0'
Это работает нормально: Однако, когда система только что загрузилась и нет сетевого трафика произошло arp не содержит маршрут. Я могу "добавить" его с помощью
ping google.com
или пингового шлюза, после этого действия arp содержит маршрутизатор. Какой самый быстрый/лучший способ убедиться, что arp содержит маршрутизатор?
edit:
Пока что самым быстрым решением (без необходимости знать мой шлюз) является:
ping -c 1 -W 1 192.168.1.1 && arp -n ; grep -i 'c0:c0:c0'
Вы уже предполагаете, что знаете, какой у вас gw (192.168.1.1), но поскольку вопрос задан, я понимаю, что это может быть не так.
Я бы сначала использовал "ip route", а затем что-то вроде:
$ ping -c1 -W1 $(ip route | grep default | awk '{print $3}')
Я не понимаю, что вы получите, если сначала не будете знать свой gw. Ваша система уже знает это, иначе она не могла бы никуда пинговаться.