Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Текст, который я не могу перевести: Function: IP to Decimal

    Текст, который я не могу перевести: Function: IP to Decimal

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Текст, который я не могу перевести: Function: IP to Decimal, RouterOS
     
    Jotne
    Guest
    #1
    0
    26.06.2019 11:36:00
    Поскольку вычисление с IP не так просто, я создал функцию, которая преобразует IP в десятичное значение. Вырежьте и вставьте это в cli, и она создаст функцию IPtoDec [
    :global IPtoDec do={
       local count 16777216
    local sum
    :if ([:typeof [:toip $1]] != "ip") do={
    :error message="Вы не указали ДЕЙСТВИТЕЛЬНЫЙ IP-адрес."}
    :local workString value=[:tostr [:toip $1]]
    :local endString value=""
    :local thisChar value=""
    :for i from=0 to=[:len $workString] step=1 do={
    :set $thisChar value=[:pick $workString $i ($i+1)]
    :if ($thisChar = ".") do={
    :set $thisChar value=","}
    :set $endString value=($endString.$thisChar)
    }
    :local resultArray value=[:toarray $endString]
    :foreach i in=$resultArray do={
    :set sum ($i * $count + $sum)
    :set count ($count / 256)
    }
    :return value=$sum
    }
    ] Тестовый скрипт для использования функции: [
    :local IP 192.168.88.1
    :local test [$IPtoDec $IP]
    :put $test
    ]
    3232258049 Функция частично основана на этом посте: http://forum.mikrotik.com/t/return-ip-octet-function/77321/1 Так что немного благодарности @royalpublishing
     
     
     
    richinuk
    Guest
    #2
    0
    20.04.2020 09:17:00
    Кто-нибудь знает, как выполнять арифметические операции с ipv6? например: put (fe80::0 + 8) = fe80::8 Рич
     
     
     
    Jotne
    Guest
    #3
    0
    21.04.2020 05:00:00
    Он просит скрипт RouterOS, а не Java. Кстати, используйте тег кода, когда публикуете коды. Выберите "редактировать", затем выделите ваш код и нажмите кнопку </>, чтобы получить что-то подобное: Мой код
     
     
     
    eworm
    Guest
    #4
    0
    21.04.2020 21:23:00
    Помогает ли это в вашем случае, если вы используете побитовый оператор? [admin@MikroTik] > :put (fe80::0 | ::8) fe80::8
     
     
     
    Jotne
    Guest
    #5
    0
    22.04.2020 05:31:00
    Для этого я получаю: :put (fe80::0 | ::8)
    Ошибка сценария: невозможно выполнить побитовое "или" для внутреннего числа и внутреннего числа
     
     
     
    eworm
    Guest
    #6
    0
    22.04.2020 10:08:00
    Для меня это работает. У тебя отключен IPv6 (или вообще не установлен)?
     
     
     
    Jotne
    Guest
    #7
    0
    22.04.2020 17:48:00
    Забыл, что на моем тестовом роутере не было IPv6. Теперь работает.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры