Телефонуйте » (+38) 096 227 41 41

Якщо ви використовуєте обладнання Mikrotik, то у вас може виникнути необхідність підрахунку трафіку. Напишем необхідний скрипт на Python, який підрахує трафік користувача і, якщо необхідно обмежувати трафік, виконає перевірку - перевищений ліміт чи ні.

#!/usr/bin/env python
# -*- coding: utf_8 -*-

# підключаємо модулі для роботи з протоколом ssh
from paramiko import SSHClient
from paramiko import AutoAddPolicy

# дані для з’єднання з Mikrotik Routerboard
mip = '192.168.4.1'
ml = 'admin'
mp = 'admin'

# з’єднуємося з Mikrotik і витягуємо дані з правил шейпера
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect(mip, port=22, username=ml, password=mp)
exe = "put [/queue simple get user101 byte]"
excmd2 = ssh.exec_command(exe)[1].read()
ssh.close()

# створюємо зміну limit і присвоюємо їй значення 3000 мбайт:
limit = 3000  
print excmd2
# створюємо пустий список
sp = []  
# дані витягуються про вхідний і вихідний трафік у вигляді: 672777878/3180111677
# відділяємо вхідний і вихідний трафік, значення розміщуємо в списку sp:
sp = excmd2.split("/")
# присвоюємо змінній up значення вихідного трафіка:
up = int(sp[0])
# присвоюємо змінній down значення вхідного трафіка:
down = int(sp[1])   
# додаємо змінні і переводимо в мегабайти:
total = (up + down)/1048576
# виводимо значення сумарного трафіка на екран:
print total
# виконуємо перевірку, чи не більша змінна total змінної limit
if total >limit:
print "Перевищений ліміт"
else:
print "Ліміт не перевищений"


Список правил шейпера Mikrotik Routerboard.


Дані про трафік користувача.


Виконуємо скрипт.

Звичайно, просте виведення повідомлення про перевищення ліміту нам нічого не дає. Ці повідомлення доцільніше замінити на конкретні дії: від’єднання користувача, який перевищив ліміт, або зменшення швидкості.
Покрокова відеоінструкція для підрахунку трафіку в Mikrotik RouterBoard за допомогою сценарію Python:


Джерело: asp24.ru

Новини

  • Модуль SMARC запускає Android або Linux на Snapdragon 820
    Модуль SMARC запускає Android або Linux на Snapdragon 820

    SMART 2.0 "Snapdragon 820 SOM" iWave має 3 Гб LPDDR4, 32 Гб eMMC, Wi-Fi та Bluetooth, а також вхідні/вихідні виводи, включаючи GbE, HDMI 2.0, MIPI-CSI, USB 3.0 та PCIe. Комп'ютер розміром 82x50 мм працює на ОС Android Snailbone або вище, з наступною підтримкою Linux. Snapdragon 820 об'єднує чотири 14-нм Cortex з технологією FinFET - два на частоті 2,15 ГГц, а два з 1,6 ГГц, які намагаються імітувати високоякісні Cortex-A72. Крім того, SoC оснащений 624 МГц Adreno 530 GPU, Hexagon 680 DSP і 14-розрядним ISP для Spectra. Snapdragon 820 SOM підтримує кодування H.265 4K@60 та кодування 4K@30.

    in Новини

Записатися на курс