Наблюдение на wifi

Post on 10-Jul-2022

14 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Наблюдение на WiFi

потребителите с

DUDE и GRAFANA

За мен

Мрежа в Булгартрансгаз

Мрежа за гости

Наблюдение на WiFi потребителите с инструментите на Mikrotik

Grafana

Съдържание

За мен

Петър Цонев

Занимавам се с мрежи и комуникации от 2006

В отбора на Mikrotik от 2014

CCNA, CCNP, CCNA SECURITY, MTCNA, MTCWE, MTCRE, MTCTCE,

MTCUME, MTCIPv6E, MTCINE

Булгартрансгаз ЕАД

WAN мрежа до 2015

Mikrotik ера

376

Мрежа за гости

4 CAPsMAN

113 AP

УВЦ Република

УВЦ Република

Up

Администрация Фитнес

Етаж 1 Ресторант

Етаж 2 Зала

Етаж 3

Етаж 4

РецепцияЛоби Бар

WiFi покритие

24 cAP ac

CCR1009Ver 6.47

Конфигурация на CAPsMAN

Конфигурация на CAPsMAN

Конфигурация на CAPsMANЦялата конфигурация се извършва в CAPsMAN

Цялата информация е в CAPsMAN

Конфигурация в DUDE

Конфигурация в DUDE

Конфигурация на cAP

Конфигурация на cAP

Конфигурация на cAP

[root@localhost ~]# snmpwalk -v2c -c ******** 192.168.52.70 .1.3.6.1.4.1.14988.1.1.1

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.2.1 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.2.2 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.3.1 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.3.2 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.4.1 = INTEGER: 1

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.4.2 = INTEGER: 1

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.5.1 = STRING: "MikroTik"

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.5.2 = STRING: "MikroTik"

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.6.1 = ""

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.6.2 = ""

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.7.1 = INTEGER: 2412

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.7.2 = INTEGER: 5180

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.8.1 = STRING: "2412/20/gn(30dBm)"

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.8.2 = STRING: "5180/20-Ce/ac/P(23dBm)"

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.9.1 = Counter32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.9.2 = Counter32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.10.1 = Counter32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.1.1.10.2 = Counter32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.4.0 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.6.0 = Gauge32: 0

SNMPv2-SMI::enterprises.14988.1.1.1.10.0 = Gauge32: 0

Конфигурация в DUDE

2G freq:

[oid("iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalM

odule.mtXRouterOs.mtxrWireless.mtxrWlStatTable.mtxrWlStatEntry.mtxrWlStatFreq

.1")]

5G freq:

[oid("iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalM

odule.mtXRouterOs.mtxrWireless.mtxrWlStatTable.mtxrWlStatEntry.mtxrWlStatFreq

.2")]

Конфигурация в DUDE

Каква информация може

да извлечем от

CAPsMAN?

Колко AP има?

Колко потребителя има?[admin@Republika] > caps-man remote-cap print count-only

24

[admin@Republika] > caps-man registration-table print count-only

3

Kъде са потребителите?1. От TAB Radio се виждат безжичните интерфейси, които се управляват от CAPsMAN

:foreach i in=[/caps-man radio find] do={

:set $strCapInterface ([/caps-man radio get $i interface])

:set $strCapID ([/caps-man radio get $i remote-cap-identity])

Kъде са потребителите?1. От TAB Radio се виждат безжичните интерфейси, които се управляват от CAPsMAN

2. От TAB Remote CAP за всеки AP се определя IP:

:foreach i in=[/caps-man radio find] do={

:set $strCapInterface ([/caps-man radio get $i interface])

:set $strCapID ([/caps-man radio get $i remote-cap-identity])

:set $strCapIP ([/caps-man remote-cap get [find identity=$strCapID] address])

:set $strCapIP ([:pick $strCapIP 0 [:find $strCapIP "/"]])

Kъде са потребителите?1. От TAB Radio се виждат безжичните интерфейси, които се управляват от CAPsMAN

2. От TAB Remote CAP за всеки AP се определя IP.

3. От TAB Registration Table определяме броят на клиентите към всеки интерфейс:

:foreach i in=[/caps-man radio find] do={

:set $strCapInterface ([/caps-man radio get $i interface])

:set $strCapID ([/caps-man radio get $i remote-cap-identity])

:set $strCapIP ([:pick $strCapIP 0 [:find $strCapIP "/"]])

:set $strClients ([:len [/caps-man registration-table find \

interface=$strCapInterface]] )

Kъде са потребителите?1. От TAB Radio се виждат безжичните интерфейси, които се управляват от CAPsMAN

2. От TAB Remote CAP за всеки AP се определя IP.

3. От TAB Registration Table определяме броят на клиентите към всеки интерфейс.

4. Определяне на клиентите, към кой под интерфейс принадлежат (2.4G или 5G)

:foreach i in=[/caps-man radio find] do={

:set $strCapInterface ([/caps-man radio get $i interface])

:set $strCapID ([/caps-man radio get $i remote-cap-identity])

:set $strCapIP ([:pick $strCapIP 0 [:find $strCapIP "/"]])

:set $strClients ([:len [/caps-man registration-table find \

interface=$strCapInterface]] )

:set $strSubInterface ([:pick $strCapInterface \

([:len $strCapInterface]-1)])

:put ($strCapInterface . " " . $strClients . " ". $strCapIP)

:log info ($strCapInterface . " ". $strSubInterface ." " . $strCapID . " " .\

$strCapIP . " " . $strClients)

Как да прехвърлим информацията в AP?

:set $intPingSize ($strSubInterface * 100 + $strClients)

/ping $strCapIP size=$intPingSize count=1

SSH?

PING

Скрипт за CAPsMAN

:global strCapID

:global strCapIP

:global strCapInterface

:global strSubInterface

:global strClients

:global intPingSize

:foreach i in=[/caps-man radio find] do={

:set $strCapInterface ([/caps-man radio get $i interface])

:set $strCapID ([/caps-man radio get $i remote-cap-identity])

:set $strCapIP ([:pick $strCapIP 0 [:find $strCapIP "/"]])

:set $strClients ([:len [/caps-man registration-table find \

interface=$strCapInterface]] )

:set $strSubInterface ([:pick $strCapInterface ([:len $strCapInterface]-1)])

:set $intPingSize ($strSubInterface * 100 + $strClients)

/ping $strCapIP size=$intPingSize count=1

:log info ($strCapInterface . " ". $strSubInterface ." " . $strCapID . " " . \

$strCapIP . " " . $strClients)

Как AP интерпретира информацията?

[admin@UVC_Reception] > ip firewall filter print

Flags: X - disabled, I - invalid, D - dynamic

1 chain=input action=log protocol=icmp src-address=192.168.52.11 log-prefix="CAPSMAN"

10:43:39 firewall,info CAPSMAN input: in:bridge1 out:(unknown 0), src-mac

6c:3b:6b:ed:8f:97, proto ICMP (type 8, code 0), 192.168.52.11->192.16

8.52.90, len 101

10:43:39 firewall,info CAPSMAN input: in:bridge1 out:(unknown 0), src-mac

6c:3b:6b:ed:8f:97, proto ICMP (type 8, code 0), 192.168.52.11->192.16

8.52.90, len 200

10:48:40 firewall,info CAPSMAN input: in:bridge1 out:(unknown 0), src-mac

6c:3b:6b:ed:8f:97, proto ICMP (type 8, code 0), 192.168.52.11->192.16

8.52.90, len 101

10:48:40 firewall,info CAPSMAN input: in:bridge1 out:(unknown 0), src-mac

6c:3b:6b:ed:8f:97, proto ICMP (type 8, code 0), 192.168.52.11->192.16

8.52.90, len 200

Как AP интерпретира информацията?

:global intWiFi1

:global intWiFi2

:global intWiFi

:global strLog

:global startBuf [:toarray [/log find message~"CAPSMAN"]]

:foreach i in=$startBuf do={

:set $strLog [/log get $i message]

:set $intWiFi [:pick $strLog ([:find $strLog "len"] +4) [:len $strLog]]

:if ($intWiFi < 199) do={

:set $intWiFi1 ($intWiFi-100)

}

:if ($intWiFi > 199) do={

:set $intWiFi2 ($intWiFi-200)

}

}

Изпълненение на скриптовете:

[admin@Republika] > system scheduler print

Flags: X - disabled

# NAME START-DATE START-TIME INTERVAL ON-EVENT RUN-COUNT

1 scheduleSendWifiClients may/19/2019 18:23:39 5m /system script run... 13674

[admin@UVC_Reception] > system scheduler print

Flags: X - disabled

# NAME START-DATE START-TIME INTERVAL ON-EVENT RUN-COUNT

0 scheduleWiFiClients may/19/2019 18:06:32 5m /system script run... 13639

Показване в DUDE

Показване в DUDE

WiFi1-[capsman_wifi1()]WiFi2-[capsman_wifi2()]

Показване в DUDE

Проблемът с TSDB

Mikrotik + GRAFANA

Mikrotik API

Mikrotik API

Конфигурация в CAPsMAN

Python

from routeros_api_v2 import Api

GRAFANA

GRAFANA

GRAFANA

GRAFANA

GRAFANA

GRAFANA

GRAFANA

GRAFANA

GRAFANA

ВЪПРОСИ ?

RB1100AHx4

DUDE EDITION

Благодаря за вниманието

top related