Нам нужна информация от моего Router
, что мои устройства уже активны.
Иногда нам приходится пинговать (устройство macaddress), а не ip, потому что оно динамическое.
Итак, мы создаем файл как экспорт, а затем сравниваем их. Теперь у нас есть некоторые проблемы, подобные этим, когда мы хотим распечатать файл только для определенного столбца.
/print ip arp .......
любой орган может помочь этим или, может быть, каким-либо методом?
/print ip arp file=someip.txt
/print ip arp (only column we want) file=someip.txt
Прежде всего, возможно, вы можете установить статический IP-адрес для того, что вы хотите. Если вы используете DHCP, вы можете добавить статическую аренду с помощью /ip dhcp-server lease add ...
. И ничего прописывать не нужно.
Так же у микротика есть API (https://wiki.mikrotik.com/wiki/Руководство:API) есть привязки для некоторых языков. Вы можете искать Микротик API.
Наконец, грязный хак, который прост и может быть достаточным для некоторых сценариев, заключается в SSH-маршрутизаторе и фильтрации вывода с помощью вашей оболочки (если вы используете среду, подобную unix).
ssh YOUR-DEVICE /ip arp print where mac-address=11:22:33:44:55:66 \
| grep 11:22:33:44:55:66 | awk '{ print $3 }'
Это подключится к устройству по ssh и получит IP-адрес (столбец 3) устройства с Mac 11:22:33:44:55:66
.
Первая строка команды выполняется на микротике, каналы с grep и awk в вашей среде unix со всей мощью вашей оболочки.
Если вы скопируете свой ключ SSH на устройство, команда не потребует пароль.
Я предлагаю извлечь параметр в решение @bmiro и сложить grep
в awk
macId=11:22:33:44:55:66
ssh YOUR-DEVICE /ip arp print where mac-address=${macId} | awk "/${macId}/"'{ print $3 }'
спасибо, наконец то свершилось. используя код /print arp (найти macaddress~"" или dynamic=yes|no)...