Хотя я понимаю, что «поднимать» свою тему — это не совсем правильно, но мне еженедельно (а иногда и ежедневно) нужен портсканер для ROS. Просто смешно каждый раз искать OID для MAC-адресов и/или использовать /sys telnet port=x в качестве грубого средства сканирования портов для определения устройств. Часто, когда я вхожу в новую, уже существующую сеть, чтобы начать управление или навести порядок и улучшения, где-то в сети оказывается управляемый коммутатор, который предыдущий админ либо не идентифицировал, либо он просто получил IP по DHCP, как сотни других случайных устройств, без понятного DHCP клиентского идентификатора. Конечно, встроенный в ROS портсканер очень бы помог в такой ситуации (пусть даже замедленный или ограниченный). Но на всякий случай, если это кому-то пригодится, вот пример обходного варианта, который я использую.
(вам нужно будет менять MAC-адреса на те, которые соответствуют устройствам нужного вам производителя, я обычно беру OID с сайта вроде «Wireshark · OUI Lookup Tool» (поиск в гугле) и вбиваю туда производителя, например Netgear или Ruckus). Потом с помощью Linux-cli или редактора вроде Notepad++ (с поиском/заменой по регулярным выражениям) модифицирую эту команду, вставляя список нужных MAC.
(также обратите внимание, что если вы не используете мосты ROS, возможно, придётся смотреть в /ip arp, и вообще, всё может не сработать в зависимости от архитектуры вашей сети):
Пример — чтобы найти IP управляемого коммутатора Netgear:
/int bridge host print where mac-address~"00:09:5B" || mac-address~"00:0F:B5" || mac-address~"00:14:6C" || mac-address~"00:18:4D" || mac-address~"00:1B:2F" || mac-address~"00:1E:2A" || mac-address~"00:1F:33" || mac-address~"00:22:3F" || mac-address~"00:24:B2" || mac-address~"00:26:F2" || mac-address~"00:8E:F2" || mac-address~"04:A1:51" || mac-address~"08:02:8E" || mac-address~"08:BD:43" || mac-address~"10:0D:7F" || mac-address~"10:DA:43" || mac-address~"20:0C:C8" || mac-address~"20:4E:7F" || mac-address~"20:E5:2A" || mac-address~"28:C6:8E" || mac-address~"2C:30:33" || mac-address~"2C:B0:5D" || mac-address~"30:46:9A" || mac-address~"40:5D:82" || mac-address~"44:94:FC" || mac-address~"4C:60:DE" || mac-address~"50:4A:6E" || mac-address~"50:6A:03" || mac-address~"6C:B0:CE" || mac-address~"74:44:01" || mac-address~"78:D2:94" || mac-address~"80:37:73" || mac-address~"84:1B:5E" || mac-address~"8C:3B:AD" || mac-address~"9C:3D:CF" || mac-address~"9C:D3:6D" || mac-address~"A0:04:60" || mac-address~"A0:21:B7" || mac-address~"A0:40:A0" || mac-address~"A0:63:91" || mac-address~"A4:2B:8C" || mac-address~"B0:39:56" || mac-address~"B0:7F:B9" || mac-address~"B0:B9:8A" || mac-address~"C0:3F:0E" || mac-address~"C0:FF:D4" || mac-address~"C4:04:15" || mac-address~"C4:3D:C7" || mac-address~"CC:40:D0" || mac-address~"DC:EF:09" || mac-address~"E0:46:9A" || mac-address~"E0:91:F5" || mac-address~"E4:F4:C6" || mac-address~"E8:FC:AF" || mac-address~"F8:73:94"
Чтобы найти IP AP Ruckus — я использую здесь /ip arp просто чтобы показать другой вариант команды, в зависимости от вашей сетевой структуры может лучше сработать /int bridge host print where:
/ip arp print where mac-address~"00:13:92" || mac-address~"00:1D:2E" || mac-address~"00:1F:41" || mac-address~"00:22:7F" || mac-address~"00:24:82" || mac-address~"00:25:C4" || mac-address~"04:4F:AA" || mac-address~"0C:F4:D5" || mac-address~"1C:B9:C4" || mac-address~"24:79:2A" || mac-address~"24:C9:A1" || mac-address~"2C:5D:93" || mac-address~"2C:C5:D3" || mac-address~"2C:E6:CC" || mac-address~"30:87:D9" || mac-address~"34:8F:27" || mac-address~"34:FA:9F" || mac-address~"38:FF:36" || mac-address~"44:1E:98" || mac-address~"50:A7:33" || mac-address~"54:3D:37" || mac-address~"58:93:96" || mac-address~"58:B6:33" || mac-address~"60:D0:2C" || mac-address~"68:92:34" || mac-address~"6C:AA:B3" || mac-address~"74:3E:2B" || mac-address~"74:91:1A" || mac-address~"84:18:3A" || mac-address~"8C:0C:90" || mac-address~"90:3A:72" || mac-address~"94:F6:65" || mac-address~"AC:67:06" || mac-address~"C0:8A:DE" || mac-address~"C0:C5:20" || mac-address~"C4:01:7C" || mac-address~"C4:10:8A" || mac-address~"D4:68:4D" || mac-address~"D4:C1:9E" || mac-address~"D8:38:FC" || mac-address~"E0:10:7F" || mac-address~"E8:1D:A8" || mac-address~"EC:58:EA" || mac-address~"EC:8C:A2" || mac-address~"F0:3E:90" || mac-address~"F0:B0:52" || mac-address~"F8:E7:1E"
Ещё может помочь предварительный запуск /tool ip-scan по всему подсети, чтобы найти устройство, особенно если оно давно не передавало трафик и не отображается в ARP или таблицах хостов.