Jump to content
Калькуляторы

Установил oxidized. С cisco конфиг забрался с Микротика не захотел. Проблема.

В Чем может быть дело?

routeros версии 6.42.3

в логах oxidized /home/oxidized/.config/oxidized/logs  видно приветствие  с микротика, но внутри файла кроме информации приветствия микротика видны еще символы управления терминала.

как я понимаю нужно править файл /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/model/routeros.rb    

но языка руби  не знаю вообще, может кто поделится этим файлом или где нужно что поправить чтобы заработало.

 

Share this post


Link to post
Share on other sites

Да, надо править файл routeros.rb, а точнее - регэкспы в нём.

Так как с ваших слов дальше неудачного распознавания запроса логина не идёт - надо править именно этот регэксп, чтобы матчил то, что выдаёт ваш микротик.

Как я понимаю, регэкспы распознавания логина-пароля - это вот этот кусок:

  cfg :telnet do
    username /^Login:/
    password /^Password:/
  end

В качестве проверяльщика результата можно использовать вот этот сайт - http://rubular.com/

Осталось разобраться как в регекспе записать символы управления.

Share this post


Link to post
Share on other sites
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 by QWE

Share this post


Link to post
Share on other sites

регэксп  который 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 by QWE
ошибка

Share this post


Link to post
Share on other sites

Я у себя дебажил длинки. Файлик надо смотреть с непечатаемыми символами. Обычно в них проблема.

 

cat -v file_name

 

Share this post


Link to post
Share on other sites

 

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 by QWE

Share this post


Link to post
Share on other sites

ну вот всё что слева и надо матчить в prompt

либо выкусывать

Share this post


Link to post
Share on other sites

в качестве логина микротику используйте "oxidized+ct", он тогда не будет пытаться понять, что за терминал посредством управляющих символов.

Share this post


Link to post
Share on other sites
1 час назад, Mystray сказал:

в качестве логина микротику используйте "oxidized+ct", он тогда не будет пытаться понять, что за терминал посредством управляющих символов.

не помогло.

может какую команду с консоли дать микротику чтобы он отключил цвета и всякие символы?

Share this post


Link to post
Share on other sites

поставил  скрипт

# 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 скрипт виснет

Share this post


Link to post
Share on other sites

Как то кривовато но зажужжало вот так

 

# 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 by QWE
ошибка

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this