Loading…

Loading, please wait…

…

Mikrotik | Api Examples

Let me know in the comments. Want the code as a ready-to-use Python script? Download the gist here.

Board: RB750Gr3 Uptime: 3d5h12m CPU Load: 7% Automating DHCP reservations.

import librouteros api = librouteros.connect( host='192.168.88.1', username='admin', password='', port=8728, # default API port (plaintext) use_ssl=False ) resources = api(cmd='/system/resource/print') print(f"Board: {resources[0]['board-name']}") print(f"Uptime: {resources[0]['uptime']}") print(f"CPU Load: {resources[0]['cpu-load']}%") mikrotik api examples

print(f"Active connections: TCP={tcp_count}, UDP={udp_count}") Limit a client’s bandwidth via script.

conns = api(cmd='/ip/firewall/connection/print') tcp_count = sum(1 for c in conns if c['protocol'] == 'tcp') udp_count = sum(1 for c in conns if c['protocol'] == 'udp') Let me know in the comments

If you manage more than one MikroTik router, logging into WinBox or WebFig for every small change gets old fast. The MikroTik API lets you script configuration, gather data, and react to network events — all from your own code.

def toggle_rule(comment, enable=True): rule = api(cmd='/ip/firewall/filter/print', .proplist='.id', comment=comment) if rule: cmd = '/ip/firewall/filter/enable' if enable else '/ip/firewall/filter/disable' api(cmd, .id=rule[0]['.id']) print(f"Rule '{comment}' {'enabled' if enable else 'disabled'}") toggle_rule('block-torrent', enable=False) Example 4: Get Active Connections by Protocol Monitor live traffic from Python. Board: RB750Gr3 Uptime: 3d5h12m CPU Load: 7% Automating

Make sure /ip service set api-ssl disabled=no is enabled on the router. RouterOS 7.14 introduced REST API, but the classic API also works fine. For large networks, try async:

leases = api(cmd='/ip/dhcp-server/lease/print') for lease in leases: if lease['comment'] == 'printer-api': print(f"Lease: {lease['address']} -> {lease['mac-address']}") Toggle a rule by comment (safer than index).

Skip story

Watch a game story.

…

Loading ad…

Alternativní text
Skip in 5 s

Commercial break. The game is being paused.

Fullscreen