QWE Posted June 22, 2018 В Чем может быть дело? routeros версии 6.42.3 в логах oxidized /home/oxidized/.config/oxidized/logs видно приветствие с микротика, но внутри файла кроме информации приветствия микротика видны еще символы управления терминала. как я понимаю нужно править файл /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/model/routeros.rb но языка руби не знаю вообще, может кто поделится этим файлом или где нужно что поправить чтобы заработало. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
azhur Posted June 22, 2018 Да, надо править файл routeros.rb, а точнее - регэкспы в нём. Так как с ваших слов дальше неудачного распознавания запроса логина не идёт - надо править именно этот регэксп, чтобы матчил то, что выдаёт ваш микротик. Как я понимаю, регэкспы распознавания логина-пароля - это вот этот кусок: cfg :telnet do username /^Login:/ password /^Password:/ end В качестве проверяльщика результата можно использовать вот этот сайт - http://rubular.com/ Осталось разобраться как в регекспе записать символы управления. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 (edited) 4 минуты назад, azhur сказал: Да, надо править файл routeros.rb, а точнее - регэкспы в нём. Так как с ваших слов дальше неудачного распознавания запроса логина не идёт - надо править именно этот регэксп, чтобы матчил то, что выдаёт ваш микротик. Как я понимаю, регэкспы распознавания логина-пароля - это вот этот кусок: cfg :telnet do username /^Login:/ password /^Password:/ end В качестве проверяльщика результата можно использовать вот этот сайт - http://rubular.com/ Осталось разобраться как в регекспе записать символы управления. в файле с дебагом обмена видно даже промпт MikroTik v6.42.3 (stable) Login: oxidized Password: MMM MMM KKK TTTTTTTTTTT KKK MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK MikroTik RouterOS 6.42.3 (c) 1999-2018 http://www.mikrotik.com/ [?] Gives the list of available commands command [?] Gives help on the command and list of arguments [Tab] Completes the command/word. If the input is ambiguous, a second [Tab] gives possible options / Move up to base level .. Move up one level /command Use command at the base level [oxidized@MT-PPTP-SRV-NEW] > т.е. править нужно к.м.к. регэксп для этого [oxidized@MT-PPTP-SRV-NEW] > 5 минут назад, azhur сказал: Осталось разобраться как в регекспе записать символы управления. + в консоли микротик цветом рисует Edited June 22, 2018 by QWE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 (edited) регэксп который prompt /\[\w+@\S+(\s?\S+)*\]\s?>\s?$/ проверил вроде матчится и если посмотреть tcpdump ом обмен то видно что oxidized выдает команду микротику /system routerboard print что собственно у oxidized и написано в /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/model/routeros.rb cmd '/system routerboard print' do |cfg| comment cfg end и микротик отвечает как ему и положено, но дальше тишина почему то Edited June 22, 2018 by QWE ошибка Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted June 22, 2018 Я у себя дебажил длинки. Файлик надо смотреть с непечатаемыми символами. Обычно в них проблема. cat -v file_name Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 (edited) MikroTik v6.42.3 (stable) Login: Password: ^M ^M ^M ^M ^M ^M ^M ^M MMM MMM KKK TTTTTTTTTTT KKK ^M MMMM MMMM KKK TTTTTTTTTTT KKK ^M MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK ^M MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK ^M MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK ^M MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK ^M ^M MikroTik RouterOS 6.42.3 (c) 1999-2018 http://www.mikrotik.com/ ^M [?] Gives the list of available commands ^Mcommand [?] Gives help on the command and list of arguments ^M ^M[Tab] Completes the command/word. If the input is ambiguous, ^M a second [Tab] gives possible options ^M ^M/ Move up to base level ^M.. Move up one level ^M/command Use command at the base level ^M^[[9999B^M^[[9999B^[Z ^[[6n^M^M^M^M[oxidized@MT-PPTP-SRV-NEW] > ^M[oxidized@MT-PPTP-SRV-NEW] > Edited June 23, 2018 by QWE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted June 22, 2018 ну вот всё что слева и надо матчить в prompt либо выкусывать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Mystray Posted June 22, 2018 в качестве логина микротику используйте "oxidized+ct", он тогда не будет пытаться понять, что за терминал посредством управляющих символов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 1 час назад, Mystray сказал: в качестве логина микротику используйте "oxidized+ct", он тогда не будет пытаться понять, что за терминал посредством управляющих символов. не помогло. может какую команду с консоли дать микротику чтобы он отключил цвета и всякие символы? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 поставил скрипт # gem install oxidized-script Successfully installed oxidized-script-0.5.1 Parsing documentation for oxidized-script-0.5.1 1 gem installed [root@zabbix logs]# su - oxidized Last login: Fri Jun 22 22:04:49 MSK 2018 on pts/0 [oxidized@zabbix ~]$ oxs Х.Х.Х.Х '/export' конфиг без проблем вернулся с железки на других командах микротика из файла /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/model/routeros.rb скрипт виснет Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
QWE Posted June 22, 2018 (edited) Как то кривовато но зажужжало вот так # cat /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/model/routeros.rb class RouterOS < Oxidized::Model prompt /\[\w+@\S+(\s?\S+)*\]\s?>\s?$/ comment "# " post do run_cmd = vars(:remove_secret) ? '/export hide-sensitive' : '/export' cmd run_cmd do |cfg| cfg.gsub! /\x1B\[([0-9]{1,3}((;[0-9]{1,3})*)?)?[m|K]/, '' # strip ANSI colours cfg.gsub! /\\\r\n\s+/, '' # strip new line cfg.gsub! /# inactive time\r\n/, '' # Remove time based system comment cfg = cfg.split("\n").reject { |line| line[/^\#\s\w{3}\/\d{2}\/\d{4}.*$/] } cfg.join("\n") + "\n" end end cfg :telnet do username /^Login:/ password /^Password:/ end cfg :telnet, :ssh do pre_logout 'quit' end cfg :ssh do exec true end end + добавил +ct в конец логина # cat /home/oxidized/.config/oxidized/router.db MT-PPTP-SERVER-NEW:routeros:4.5.6.7:login+ct:password Edited June 22, 2018 by QWE ошибка Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...