Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Количество подключений?

    Количество подключений?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Количество подключений?, RouterOS
     
    evert
    Guest
    #1
    0
    26.10.2004 07:14:00
    Всем привет! Подскажите, кто знает, возможно ли (с помощью SNMP?) опрашивать устройство Mikrotik и узнавать общее количество соединений (через /ip firewall connections) таким образом?
     
     
     
    Eugene
    Guest
    #2
    0
    26.10.2004 07:30:00
    Невозможно.
     
     
     
    gianluca
    Guest
    #3
    0
    26.10.2004 09:43:00
    Вижу два варианта скрипта на Mikrotik: он отправляет письмо каждый раз, когда нужно получить эти данные с удаленного сервера, либо запускаешь скрипт через Telnet и получаешь инфу.
     
     
     
    evert
    Guest
    #4
    0
    26.10.2004 09:48:00
    #2 звучит отлично! Это я думаю, смогу сделать с того же сервера, где и выполнял бы SNMP-fetch в любом случае… Можешь показать пример такого скрипта для меня/нас?
     
     
     
    Eugene
    Guest
    #5
    0
    26.10.2004 16:51:00
    Простой скрипт expect может выглядеть так:
    #!/usr/bin/expect

    # Скрипт сбора информации для RouterOS

    # Этот скрипт завершится, если что-то пойдет не так
    set timeout 20

    # Установите эти переменные для своей сети
    set router "1.1.1.2"
    set logn "admin"
    set passwd ""
    set rta_prompt ".* >"

    # Установка уровня логирования 0, чтобы избежать спама от роутера
    log_user 0
    # Запуск бесшумной сессии telnet
    eval spawn -noecho telnet "$router"

    # Аутентификация
    expect "Login:" {send "$logn\r"}
    expect "Password:" {send "$passwd\r"}

    # Получение и печать информации о соединениях
    expect "$rta_prompt" {
     send "/ip firewall connection print\r"
    }
    expect "$rta_prompt" {
     set aa $expect_out(buffer);
     send_user "\n-------------------------------\n";
     send_user $aa;
     send_user "\n-------------------------------\n";
    }
    sleep 2
    send "\r"
    Обратите внимание, что для работы этого скрипта необходимо установить TCL и Expect. И, полагаю, он должен работать на *nix машине :)
     
     
     
    evert
    Guest
    #6
    0
    27.10.2004 06:32:00
    Попробовал скрипт на своей *nux машине, и кажется, он ничего не выдаёт… или мне так кажется…?
     
     
     
    Roman
    Guest
    #7
    0
    27.10.2004 08:07:00
    У тебя установлены expect и tcl? Telnet включен на роутере? Этот код у меня работает идеально! Отличная работа, Eugene!
     
     
     
    evert
    Guest
    #8
    0
    27.10.2004 08:40:00
    Да, ожидайте 5.37.1 и tcl 8.4.6. Если закомментировать параметр log_user, то получается правильный(?) вывод, с -- [Q quit|D dump|down] внизу.
     
     
     
    Eugene
    Guest
    #9
    0
    27.10.2004 09:50:00
    Хе-хе:) У тебя слишком много подключений в таблице. Не закомментируй параметр log_user. Вместо этого добавь аргумент without-paging к команде /ip firewall connection print. Eugene
     
     
     
    evert
    Guest
    #10
    0
    27.10.2004 10:03:00
    Даёт больше! -------------------------------
    123:80    tcp  time-wait   1м41с      
    152  A 192.168.24.140:58533  199.181.132.206:80    tcp  time-wait   1м23с      
    153  A 192.168.24.140:58531  199.181.132.207:80    tcp  time-wait   1м23с      
    154  A 192.168.24.140:58536  199.181.132.207:80    tcp  time-wait   1м23с      
    155  A 192.168.24.140:47582  204.74.101.1:53       udp              2м47с      
    156  A 192.168.24.140:55077  204.152.184.184:6277  tcp  established 4д23ч54м2с
    157  A 192.168.24.140:58496  206.16.0.222:80       tcp  time-wait   19с        
    158  A 192.168.24.140:58518  206.16.0.222:80       tcp  time-wait   1м23с      
    159  A 192.168.24.140:58576  207.171.166.48:80     tcp  time-wait   1м44с      
    160  A 192.168.24.140:58577  207.171.166.48:80     tcp  time-wait   1м44с      
    161  A 192.168.24.140:58578  207.171.166.48:80     tcp  time-wait   1м48с      
    162    192.168.24.140:47582  207.171.169.7:53      udp              13с        
    163  A 192.168.24.140:56123  212.97.129.35:6277    tcp  established 4д23ч59м57с
    164  A 192.168.24.140:58575  213.84.23.119:80      tcp  fin-wait    1м42с      
    165 U  192.168.24.140:58517  213.220.100.3:80      tcp  syn-sent    1м55с      
    166  A 192.168.24.140:58520  213.220.100.3:80      tcp  time-wait   1м58с      
    167    192.168.24.140:47582  216.200.69.14:53      udp              24с        
    168  A 192.168.24.140:47582  216.239.120.69:53     udp              2м11с      
    169  A 195.225.3.19:64413    213.151.155.141:6277  tcp  established 4д40м19с  
    170  A 204.152.184.184:58374 213.151.152.215:6277  tcp  established 4д23ч59м57с
    171  A 204.152.184.184:56980 213.151.155.141:6277  tcp  established 4д41м48с  
    172  A 212.4.33.214:13095    213.151.155.141:80    tcp  established 2д23ч57м59с
    173  A 213.151.152.215:1499  205.188.8.136:5190    tcp  established 4д23ч59м39с
    174  A 213.151.152.215:1492  205.188.11.184:5190   tcp  established 4д23ч59м7с
    175  A 213.151.152.215:1483  207.46.107.167:1863   tcp  established 4д23ч59м40с
    176  A 213.151.152.215:1488  207.46.107.169:1863   tcp  established 4д23ч59м39с
    177  A 213.151.152.215:1496  216.155.193.184:5050  tcp  established 4д23ч59м6с
    178  A 213.151.155.141:1319  205.188.8.138:5190    tcp  established 4д21м18с  
    179  A 213.151.155.141:1321  205.188.11.184:5190   tcp  established 4д21м18с  
    180  A 213.151.155.141:1240  207.46.106.71:1863    tcp  established 4д21м18с  
    181  A 213.151.155.141:1241  207.46.107.62:1863    tcp  established 4д21м18с  
    182  A 213.151.155.141:1248  208.245.212.67:5222   tcp  established 4д21м18с  
    183  A 213.151.155.141:1213  216.155.193.178:5050  tcp  established 4д21м22с  
    184  A 213.151.155.141:1479  217.13.2.82:1723      tcp  established 4д19м53с  
    185  A 213.151.155.141       217.13.3.82           gre              4д21м30с  

    [evert@MEULIE] >
    ------------------------------- But what I actually need is just the # of connections, as a single number…
     
     
     
    Eugene
    Guest
    #11
    0
    27.10.2004 10:08:00
    Обновленная версия скрипта для использования с ssh. Скрипт предполагает, что у вас нет пароля для указанного аккаунта. Раскомментируйте строку аутентификации, если у вас на самом деле есть пароль. Также исправлены проблемы с постраничной выдачей #!/usr/bin/expect

    # Скрипт сбора информации для RouterOS v1.2

    # Это прервет выполнение скрипта, если что-то пойдет не так
    set timeout 20

    # Установите эти переменные для своей сети
    set router "1.1.1.2"
    set logn "admin"
    set passwd ""
    set rta_prompt ".* >"

    # Установка уровня логирования 0, чтобы избежать спама от роутера
    log_user 0

    # Запуск тихого ssh-сеанса
    eval spawn -noecho ssh -l "$logn" "$router"

    # Настройки аутентификации
    #expect ".*password:" {send "$passwd\r"}

    # Устанавливаем максимальную длину буфера (иногда слишком много соединений)
    match_max 50000

    # Получение и вывод информации о соединениях
    expect "$rta_prompt" {
     send "/ip firewall connection print without-paging\r"
    }
    expect "$rta_prompt" {
     set aa $expect_out(buffer);
     send_user "\n-------------------------------\n";
     send_user $aa;
     send_user "\n-------------------------------\n";
    }
    sleep 2
    send "\r"
     
     
     
    Eugene
    Guest
    #12
    0
    27.10.2004 10:10:00
    Я этого ожидал.
     
     
     
    Eugene
    Guest
    #13
    0
    27.10.2004 10:13:00
    Может, так? (myscript - имя expect скрипта)

    РЕДАКТИРОВАНО: Или выполнить команду /ip firewall connection print с аргументом count-only.
     
     
     
    evert
    Guest
    #14
    0
    27.10.2004 10:41:00
    Это посчитает количество строк в файле myscript…
     
     
     
    evert
    Guest
    #15
    0
    27.10.2004 10:46:00
    Хм, после этого изменения скрипт вообще ничего не выдает… странно…
     
     
     
    Eugene
    Guest
    #16
    0
    27.10.2004 10:54:00
    Прости, ошибся. Правильно будет так: $ ./myscript | wc -l

    И вот рабочий сниппет только для подсчета:

    # Получить и вывести информацию о соединениях
    expect "$rta_prompt" {
     send "/ip firewall connection print count-only\r"
    }
    expect -re "\[0-9]+" {
     set aa $expect_out(0,string);
     send_user "$aa\n";
    }
    sleep 1
    send "\r"
     
     
     
    evert
    Guest
    #17
    0
    27.10.2004 12:05:00
    Да! Как видите здесь, это работает идеально!
     
     
     
    Eugene
    Guest
    #18
    0
    27.10.2004 12:09:00
    Вау, впечатлён!;) Не поделишься ли ты конфигурацией MRTG, чтобы использовать вывод скрипта на благо других? :))
     
     
     
    evert
    Guest
    #19
    0
    27.10.2004 12:13:00
    Конечно: Target[conncount]: `/usr/local/bin/connection_poll`
    Options[conncount]: gauge,growright,nopercent,noo
    Title[conncount]: Connection count
    MaxBytes[conncount]: 1000
    PageTop[conncount]: <H1>Connection count</H1>
    LegendO[conncount]: Connections
    LegendI[conncount]: Connections
    YLegend[conncount]: connections
    ShortLegend[conncount]:  connections Всё просто как никогда…
     
     
     
    evert
    Guest
    #20
    0
    27.10.2004 13:12:00
    Хм, пытаюсь превратить это в SSH-скрипт, но кажется, что-то не так с моей версией: #!/usr/bin/expect

    #Скрипт для сбора информации о RouterOS

    # Этот скрипт будет завершаться по тайм-ауту, если что-то пойдет не так
    set timeout 20

    # Установите эти переменные для своей сети
    set router "1.2.3.4"
    set logn "mrtg"
    set passwd "blah"
    set rta_prompt ".* >"

    # Устанавливаем уровень логирования 0, чтобы избежать спама от роутера
    log_user 0

    # Запускаем тихую сессию telnet
    eval spawn -noecho ssh "$logn@$router"

    # Аутентификация
    expect "Password:" {send "$passwd\r"}

    # Получение и вывод информации о соединениях
    expect "$rta_prompt" {
     send "/ip firewall connection print count-only\r"
    }
    expect -re "\[0-9]+" {
     set aa $expect_out(0,string);
       send_user "$aa\n0\n";
    }
    sleep 1
    send "\r" Этот скрипт завершается за 40 секунд и всегда возвращает значение 192…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры