51
Наблюдение на WiFi потребителите с DUDE и GRAFANA

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

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Наблюдение на WiFi

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

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

DUDE и GRAFANA

Page 2: Наблюдение на WiFi

За мен

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

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

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

Grafana

Съдържание

Page 3: Наблюдение на WiFi

За мен

Петър Цонев

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

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

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

MTCUME, MTCIPv6E, MTCINE

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

Page 4: Наблюдение на WiFi

WAN мрежа до 2015

Page 5: Наблюдение на WiFi

Mikrotik ера

376

Page 6: Наблюдение на WiFi

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

4 CAPsMAN

113 AP

Page 7: Наблюдение на WiFi

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

Page 8: Наблюдение на WiFi

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

Page 9: Наблюдение на WiFi

Up

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

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

Етаж 2 Зала

Етаж 3

Етаж 4

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

WiFi покритие

24 cAP ac

CCR1009Ver 6.47

Page 10: Наблюдение на WiFi

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

Page 11: Наблюдение на WiFi

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

Page 12: Наблюдение на WiFi

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

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

Page 13: Наблюдение на WiFi

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

Page 14: Наблюдение на WiFi

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

Page 15: Наблюдение на WiFi

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

Page 16: Наблюдение на WiFi

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

Page 17: Наблюдение на WiFi

Конфигурация на 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

Page 18: Наблюдение на WiFi

Конфигурация в 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")]

Page 19: Наблюдение на WiFi

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

Page 20: Наблюдение на WiFi

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

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

CAPsMAN?

Page 21: Наблюдение на WiFi

Колко AP има?

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

24

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

3

Page 22: Наблюдение на WiFi

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])

Page 23: Наблюдение на WiFi

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 "/"]])

Page 24: Наблюдение на WiFi

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]] )

Page 25: Наблюдение на WiFi

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)

Page 26: Наблюдение на WiFi

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

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

/ping $strCapIP size=$intPingSize count=1

SSH?

PING

Page 27: Наблюдение на WiFi

Скрипт за 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)

Page 28: Наблюдение на WiFi

Как 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

Page 29: Наблюдение на WiFi

Как 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)

}

}

Page 30: Наблюдение на WiFi

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

[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

Page 31: Наблюдение на WiFi

Показване в DUDE

Page 32: Наблюдение на WiFi

Показване в DUDE

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

Page 33: Наблюдение на WiFi

Показване в DUDE

Page 34: Наблюдение на WiFi

Проблемът с TSDB

Page 35: Наблюдение на WiFi
Page 36: Наблюдение на WiFi

Mikrotik + GRAFANA

Mikrotik API

Page 37: Наблюдение на WiFi

Mikrotik API

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

Page 38: Наблюдение на WiFi

Python

from routeros_api_v2 import Api

Page 39: Наблюдение на WiFi
Page 40: Наблюдение на WiFi

GRAFANA

Page 41: Наблюдение на WiFi

GRAFANA

Page 42: Наблюдение на WiFi

GRAFANA

Page 43: Наблюдение на WiFi

GRAFANA

Page 44: Наблюдение на WiFi

GRAFANA

Page 45: Наблюдение на WiFi

GRAFANA

Page 46: Наблюдение на WiFi

GRAFANA

Page 47: Наблюдение на WiFi

GRAFANA

Page 48: Наблюдение на WiFi

GRAFANA

Page 49: Наблюдение на WiFi

ВЪПРОСИ ?

Page 50: Наблюдение на WiFi

RB1100AHx4

DUDE EDITION

Page 51: Наблюдение на WiFi

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