Esse script gera LOGs de todas as interfaces WLANs conforme a utilização de banda de cada cartão. No script é setado a velocidade máxima da interface, caso esse valor seja ultrapassado, é gerado um log do sistema avisando que essa interface esta excedendo uma certa taxa de trafego, o log também pode ser enviado via SYSLOG.
No meu caso configurei o scheduler para executar o script em 30 em 30minutos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | :global traffic; :global trafficlimit; :global interface; :global type; :global name; :global ip; :global ssid; :global band :global tx; :for i from="1" to=10 do={:set interface "wlan$i"; :set type [/interface wireless get $interface band]; <strong>#Nas próximas linhas é necessário configurar a velocidade máxima da interface, caso essa velocidade seja ultrapassada o log é gerado.</strong> :if ($type = "2.4ghz-b") do={:set trafficlimit 2000000}; <strong>#velocidade dos cartões em 8002.11b</strong> :if ($type = "2.4ghz-b/g") do={:set trafficlimit 4000000};<strong> #velocidade dos cartões em 8002.11b/g</strong> :if ($type = "5ghz") do={:set trafficlimit 8000000}; <strong>#velocidade dos cartões em 8002.11a</strong> /interface monitor-traffic [/interface find name=$interface] once do={:set traffic (tx-bits-per-second); :if ($traffic > $trafficlimit) do={ :set name [/system identity get name]; :set ip [/ip address get 0 address]; :set ssid [/in wi get $interface ssid]; :set band [/in wi get $interface band; :set tx ($traffic/1000)]; :log info "Nome=$name IP=$ip SSID=$ssid interface=$interface band=$band Tx-kbps=$tx" }}}; |
Basta configurar o scheduler para executar o script de tempos em tempos, e acompanhar os resultados com o comando;
/log print
O resultado já é convertido em kbps, algo como
Nome=Nome-da-MK IP=10.0.0.1 SSID=REDE-TESTE interface=wlan1 band=2.4ghz-b Tx-kbps=2468
;