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