Помогите с получением данных сканирования /interface/wireless., RouterOS
tnakir
Guest
0
19.08.2010 13:37:00
Привет, мне нужно написать скрипт, который собирает данные с /interface/wireless/> scan “wlan1” и ежедневно отправляет их на определённую почту. Я уже почти всё решил, кроме одного момента: :local wirelesslist [scan $interface1 freeze-frame-interval=0:0:02]; проблема со сканом в том, что его нужно останавливать вручную нажатием клавиши Q. В скрипте скан, похоже, запускается беспрерывно, и я, по сути, застрял в бесконечном цикле. Есть ли способ выполнить скан один раз или как-то симитировать нажатие клавиши Q? Спасибо!
lorell
Guest
0
21.04.2011 03:20:00
bburley: Спасибо за скрипт и за знакомство с Tera Term. Я использовал твой скрипт, и ему действительно нужны небольшие доработки. У него такая же проблемка, с которой я уже сталкиваюсь: я хочу запускать скрипт через беспроводное соединение, а команда сканирования прерывает это соединение.
jarda
Guest
0
14.07.2016 01:57:00
Ты заметил функцию фонового сканирования?
lorell
Guest
0
19.04.2011 07:45:00
Давайте, ребята, Ubiquiti с этим справляется отлично. А мы ведь лучше них, верно? Как нам этого добиться? Я пробовал: :global scanstr [/interface wireless scan wlan1 duration=10]; :put “$scanstr”; Но это не работает. :environment print “scanstr”=[:nothing]
lorell
Guest
0
19.04.2011 07:48:00
Нам обязательно писать свой собственный скрипт сканирования? (то есть для каждого значения из списка сканирования сделать что-то очень умное и сохранить это в файл или переменную / а потом забрать через The Dude или по ssh, или отправить через syslog)
bburley
Guest
0
20.04.2011 02:55:00
Вот одно из решений с использованием новой версии Tera Term, которую можно скачать здесь: Имя файла: MikroTik_Wlan_Scan.ttl Скрипт для Tera Term (используйте версию 4.6x и новее) Автор: Bob Burley – 19 апреля 2011
Регулярное выражение для сопоставления – всё ещё требует доработки Частота «2.4ghz-b» прописана жёстко и нуждается в изменениях для работы с другими диапазонами regexStr='^\w{1,5}\s{1,5}\h{2}:\h{2}:\h{2}:\h{2}:\h{2}:\h{2}\s.{1,12}\s2\.4ghz-b\s{3}\d{4}\s-\d{2}\s-\d{2,3}\s\d{2}'
Удаляем предыдущий файл, если он есть, и вы не используете режим дополнения filesearch outputFilename if result filedelete outputFilename
Открываем файл для вывода Последний параметр: 0 = перезаписать, 1 = добавить в конец файла fileopen outputFile 'ScanList.txt' 0
Записываем заголовки в файл Это делается вручную, так как эти строки появляются несколько раз во время сканирования filewriteln outputFile 'Flags: A - active, B - bss, P - privacy, R - routeros-network, N - nstreme' filewriteln outputFile ' ADDRESS SSID BAND FREQ SIG NF SNR RADIO-NAME'
Командная строка появляется несколько раз в процессе сканирования, поэтому обнаружение конца вывода реализовано с помощью таймаута в 3 секунды timeout=3
Запускаем сканирование WLAN и работаем 5 секунд sendln '/interface wireless scan 0 duration=5' Очищаем буфер от введённой команды flushrecv
Распознаём строки вывода, соответствующие регулярному выражению :loop1 waitregex regexStr outputLine=inputstr if result filewrite outputFile outputLine Проверяем таймаут if result=0 goto exit1 goto loop1
:exit1 fileclose outputFile sendln '/quit'
В итоговом файле будут дубликаты, поэтому для обработки вывода потребуется дополнительное скриптование.
troy
Guest
0
20.04.2011 15:54:00
На днях я случайно запустил сканирование на устройстве CPE. Оно не отобразилось сразу, но спустя несколько секунд результаты скана вывалились прямо в мое терминальное окно. TCP-соединение продержалось эти пару секунд, пока сканирование завершалось и устройство переподключалось к точке доступа. Я пробовал то же самое через mac-telnet... там соединение не выдержало.
janisk
Guest
0
26.04.2011 12:58:00
Если вы запускаете сканирование на беспроводном интерфейсе, это приведёт к отключению подключённых пользователей и началу сканирования. Как вы уже заметили, TCP-соединение может сохраняться в период разрыва и восстановления связи, и пользователь сможет увидеть результаты. Поэтому был введён параметр duration, чтобы можно было быстро вернуться, прежде чем сессия будет прервана.
Lupin
Guest
0
02.05.2011 06:20:00
Почему вы (команда mikrotik) не добавите возможность сохранять сканы, snooper или freq.usage в файл? Как уже говорилось, это не работает... Это слишком сложно? (жду серьезного объяснения...)
WirelessRudy
Guest
0
06.07.2011 16:22:00
Я очень разочарован, что эта функция до сих пор не реализована в MT, и никто так и не смог написать рабочий скрипт, который бы делал беспроводное сканирование (или использовал другие беспроводные инструменты типа snoop и т.п.), выводил результаты в файл и мог отправлять его на почту или сервер для дальнейшей обработки. Вижу в форуме несколько попыток, но пока ничего толком не работает. Или я чего-то не понимаю? Просто я, похоже, совсем не разбираюсь в скриптах и у меня нет времени тратить кучу времени на разбирательства. Мне нужно управлять сетью со всеми ее проблемами. Основная проблема сейчас — это помехи на рабочих частотах, и мне нужно находить частоты для сети AP-клиент, которые относительно свободны от помех. Запуск сканирования на AP недостаточен, потому что у некоторых удалённых клиентов помехи идут от конкурентов, которых AP просто не видит! Или AP может зафиксировать помеху на частоте с уровнем -80, а какой-то удалённый CPE уловит тот же "чужой" AP с уровнем -50, из-за чего он выпадет из сети… Обходить каждого клиента и вручную проводить сканирование — это недели работы, а делать это нужно регулярно. Разве не должен умный скрипт уметь делать это удалённо за меня?
tnakir
Guest
0
16.09.2011 10:22:00
Я пробовал такие варианты: скрипты RouterOS, API RouterOS. Я написал приложение, которое подключается к роутеру по SSH, но ничего не сработало. Всё ещё ищу решение. Было бы очень полезно, если бы сделали функцию типа /interface wireless scan 0 duration=5 outputfile=something, которая сканирует эфир 5 секунд и сохраняет все SSID в файл, который мы могли бы скачать через sftp или что-то в этом роде. Ещё один вариант — это какой-то другой тип сканирования (интерфейс сканирует SSID в течение N секунд и выводит все найденные за этот период SSID), например /interface wireless scanonce 0 duration 5. Ребята из MT, есть шанс, что что-то такое появится в будущих версиях RouterOS? Было бы реально полезно... ИЗМЕНЕНИЕ: Мне удалось получить данные через API. Проблема в том, что API не возвращает версию ROS и флаги.
skot
Guest
0
18.04.2012 21:25:00
WirelessRudy оставил запрос на странице с предложениями по улучшению. Найдите его по фразе «Save wireless scan». Я тоже хотел бы присоединиться, но вики сейчас не принимает новые аккаунты.
Adrin
Guest
0
11.11.2013 11:35:00
Привет, также можно подключиться локально и сохранить вывод сканирования в файл. Вот так: /system ssh address=127.0.0.1 port=22 command=“/in wi scan wlan1 duration=8s” output-to-file=scan.txt С помощью ssh-ключей оно должно подключаться без запроса пароля.
jwebb1975
Guest
0
14.02.2015 16:42:00
Всем привет... Я собираюсь оживить эту тему. Есть ли кто-то, или Mikrotik, кто реализовал возможность удалённого сканирования или сканирования с сохранением в текстовый файл, который можно отправить по электронной почте (возможно, потом обработать где-то для удобного отображения)? Я часами возился с этим, искал и никак не могу найти что-то для обычного сканирования, сканирования частот или, что было бы лучше всего, для snoop “n” — для сетевого сканирования.
ploquets
Guest
0
13.07.2016 19:49:00
2016 год, а у нас до сих пор нет ничего по этой функции? Как выбрать чистый канал, если мы не можем увидеть другую сторону удалённо? Было бы очень-очень-очень здорово, если бы команда Mikrotik реализовала что-то подобное, но до того, как выйдет чудо-версия 7.
WirelessRudy
Guest
0
14.07.2016 16:13:00
Какой вообще толк от функции фонового сканирования? В режиме «станции» она не работает. AC-устройства не поддерживают функцию сканирования. Само сканирование не «видит» всего. Например, оно не обнаруживает оборудование ubnt с частотным сдвигом.
3b Сканирование улавливает только каналы шириной 20 МГц и больше. Каналы в 5 и 10 МГц видно только если они указаны в разделе «Channels» и в «Scan list». Чтобы сканирование проходило в нужном диапазоне, нужно задать этот диапазон в «Scan list» в настройках беспроводной сети. Тогда устройство после разрыва соединения будет сканировать весь этот диапазон, что может занять несколько десятых секунды. Если у клиента есть PPoE-туннель, он прервётся, а если PPoE-сервер использует динамические IP, есть большая вероятность, что станции назначат новый IP. Соединение по Winbox с клиентом теряется вместе со всей возможной информацией сканирования.
Сканирование «видит» только радиосигналы протоколов 802.11a/n/c или b/g. По части функционала сканирования Mikrotik сильно отстаёт от большинства конкурентов. Чтобы бороться с помехами возле клиентов, нужно понимать, что происходит в спектре. А для этого нужен спектральный анализ. Можно потратить сотни долларов на спектральный сканер и ездить к клиентам каждый раз, когда нужна проверка, но это не вариант.
В текущей ситуации нужны регулярные спектральные проверки минимум раз в месяц. У устройств клиентов должна быть такая возможность. Если её нет — это ещё одна причина, почему пользователи уходят на другую платформу…
jarda
Guest
0
14.07.2016 18:45:00
Не правда. Только что проверил на такой станции (собственно, в режиме станция-мост): станция сканировала, пока шел непрерывный двусторонний трафик, и winbox был подключен через сканирующую WLAN. Не правда. Идея иметь клиент без работающего сканирования — реально забавная. Как он тогда может подключиться к точке доступа без этого? Не видит airmax. Так же, как ubnt не видит nv2, потому что протоколы проприетарные. Не уверен, как работает superchannel на ac, так что не могу судить. Вообще, почему ты думаешь, что этот разговор про ac?