Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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 2.8

    Тест веб-ссылки для RouterOS 2.8

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Тест веб-ссылки для RouterOS 2.8, RouterOS
     
    arve
    Guest
    #1
    0
    22.03.2005 17:07:00
    Я сделал очень простой PHP-скрипт для отображения зарегистрированных клиентов, их MAC-адресов, уровня сигнала и подключенного интерфейса. Улучшения последуют, я надеюсь. Поместите код в PHP-файл где-нибудь в директории вашего веб-сервера Apache. Убедитесь, что snmpwalk и snmpget установлены в вашей системе, SNMP включен в RouterOS, и что $snmpwalk и $snmpget настроены правильно (где находится snmpwalk).

    <?php
    /*
    TODO:
    - Использовать модуль SNMP для Apache
    - Таблица SQL над MAC-адресами
    - Автоматическое обновление
    - Выбор одного клиента
    - Когда клиент выбран, отправлять трафик на него (ping/и т.п.), чтобы уровень сигнала обновлялся чаще
    - Сообщения об ошибках
    */

    /*
    Протестировано на Debian Sarge со следующими пакетами:
    - Apache 1.3.26-0woody6
    - PHP 4.1.2-7.0.1
    - net-snmp 5.1.1-2
    */

    /* установите эти значения в соответствии с вашей средой. */
    $snmpwalk = "/usr/bin/snmpwalk";
    $snmpget = "/usr/bin/snmpget";
    ?>
    <html >
    <head>
    <title>Mikrotik linktest</title>
    </head>
    <body >
    <form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post">
    IP Mikrotik AP:
    <input type="text" maxlength="15" name="ip" value="<?php echo $_POST['ip']; ?>">
    SNMP Community:
    <input type="password" name="password" value="<?php echo $_POST['password']; ?>">
    <input type="submit" name="submitted" value="Проверка соединения!">
    </form>
    <?php
    if ($_POST['submitted']) {
    /* Открыть tmp файл - открыть snmp соединение - бла бла бла */
    /* Код/идеи позаимствованы из freeradius-dialupadmin. */
    $server = escapeshellcmd($_POST['ip']);
    $community = escapeshellcmd($_POST['password']);
    $tmp_file = tempnam('/tmp/','LT');
    $command_clients = $snmpwalk . " -v 1 -c $community $server .1.3.6.1.4.1.14988.1.1.1.2.1.3" . ' >' . $tmp_file;
    $filepointer = popen("$command_clients","w");
    pclose($filepointer);
    $reply = file($tmp_file);
    unlink($tmp_file);
    $int = 0;
    echo <<< EOM

    EOM;
    ;
    foreach ($reply as $reply_line) {
     $int++;
     $oid_splitted = explode('.',$reply_line);
     echo "";
     }
    echo '
    КлиентMACсигнал(dBm)Интерфейс
    $int" . dechex($oid_splitted[8]) . ':' .
           dechex($oid_splitted[9]) . ':' . dechex($oid_splitted[10]) . ':' . dechex($oid_splitted[11]) . ':' . dechex($oid_splitted[12]) . ':' .
           dechex($oid_splitted[13]) .
           "
    ";
     $dbm = explode (" ", $oid_splitted[14]);
     $command_interface = "$snmpget -v 1 -c $community $server ifDescr.$dbm[0]";
     $interface = exec($command_interface);
     $interface = explode(" ", $interface);
     $interface = $interface[3];
     echo "$dbm[3]
    $interface
    ';
    }
    ?>
    </body >
    </html >
     
     
     
    djape
    Guest
    #2
    0
    22.03.2005 18:02:00
    Отличная работа, друг! Обязательно попробую, спасибо…
     
     
     
    arve
    Guest
    #3
    0
    22.03.2005 23:04:00
    Поработал немного над этим. Задача — интегрировать базу данных клиентов (freeradius-dialupadmin или самописный sql) с точками доступа Mikrotik. Это сильно облегчит администрирование. Обновлённый интерфейс веб-теста linktest можно скачать здесь: http://jumper.biatches.org/~arve/mikrotik/ Ещё кое-что будет.
     
     
     
    arve
    Guest
    #4
    0
    30.03.2005 22:50:00
    snmpwalk в PHP возвращает OID на одном из моих дебианов, но не на другом. Это создаст проблемы, когда мы будем пытаться получить MAC из OID. v0.03 решает эту проблему (используя snmpwalk через exec). Сообщите мне, если это работает и у вас. Сейчас демо можно посмотреть на http://jumper.biatches.org/~arve/mikrotik/demo/.
     
     
     
    wildbill442
    Guest
    #5
    0
    30.03.2005 23:55:00
    Круто... отличная работа. Черт, мне срочно нужно купить книгу по PHP!
     
     
     
    arve
    Guest
    #6
    0
    31.03.2005 10:24:00
    Я это уже читал: http://www.amazon.com/exec/obidos/tg/detail/-/0764549553/002-9557920-0064837?v=glance http://www.php.net тоже имеет отличную документацию.
     
     
     
    arve
    Guest
    #7
    0
    01.04.2005 23:46:00
    Добавил более подробную информацию о клиентах. Текущая версия — 0.04.
     
     
     
    _ASM
    Guest
    #8
    0
    02.04.2005 13:16:00
    Отличная работа… Если Mikrotik выдаёт уровень сигнала tx и rx в виде SNMP…
     
     
     
    arve
    Guest
    #9
    0
    03.04.2005 14:26:00
    Поправьте меня, если я не прав, но мне кажется, что сигнал приходит от устройства, которое вы измеряете, потому что стандарт 802.11 не передает информацию об уровне сигнала между точкой доступа и клиентом. Если у вас Mikrotik в качестве клиента, попробуйте включить SNMP на нем и используйте этот линктест против клиента. Не знаю, как можно придумать обходной путь для этого на PHP. Может, я сделаю вариант через SSH вместо SNMP. Тогда можно будет показать больше информации, которая недоступна через SNMP. И еще используйте “/ip neighbor”, чтобы решить проблему с уровнем сигнала приема/передачи.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры