sysbus icon indicating copy to clipboard operation
sysbus copied to clipboard

Statistique & fibre

Open nicolab28 opened this issue 4 years ago • 22 comments

Venant de chez Free, avec une delta, je suis nouveau dans le monde d'Orange, de la Fibre, le tout sur une LB5. Je n'arrive pas à trouver des informations sur une activité de type numérique, du réseau passant par la livebox. Mon objectif, serait de voir les débits montant et descendant "instantanés" utilisés.

nicolab28 avatar Jan 14 '21 10:01 nicolab28

Bonjour,

En ADSL tu peux avoir les débits (théoriques) des liens up et down.

En fibre, je ne crois pas... je ne me souviens pas avoir trouvé ce genre d'information. Il faut regarder dans l'interface web ou l'app sur smartphone. Si l'info n'est pas disponible, tu ne l'auras. Les infos exposées sont celles auxquelles ont accès, ni plus ni moins.

rene-d avatar Jan 14 '21 10:01 rene-d

Merci, Dans l'application My Livebox, il y a bien les informations de débit, consommés, montant descendant, avec un historique. C'est mis à jours tous les 30s, mais c'est mieux que rien... Il y a une méthode pour voir comment l'appli les récupère?

nicolab28 avatar Jan 14 '21 12:01 nicolab28

Ah, c'es peut=être nouveau, parce que je n'avais pas trouvé ces infos pour la fibre. Pour trouver les informations: wireshark, mode développeur du navigateur web, ...

rene-d avatar Jan 14 '21 14:01 rene-d

J'avouerai ne pas l'avoir vu avant de lire ton premier message. Je vais voir si on peut faire un wireshark sur une appli android. Je viens de tester une appli de capture de trame, mais elle passe par un vpn, et du coup, l'appli d'Orange bloque la connexion à distance.

nicolab28 avatar Jan 14 '21 16:01 nicolab28

Screenshot_2021-01-14-17-07-30-381_com orange mylivebox fr

nicolab28 avatar Jan 14 '21 16:01 nicolab28

je ne trouve pas ces infos ni dans l'app iOS ni sur la page web ! il faudrait que j'essaie avec un Android.

il y a des proxies genre https://www.charlesproxy.com ou (plus manuellement) haproxy, nginx, etc. qui permettent de s'intercaler entre un téléphone et un équipement. ou un switch administrable avec port mirroring... :) il doit même y avoir un exemple ici : https://github.com/rene-d/sysbus/tree/master/misc :) ou utiliser un émulateur Android (ou iOS) pour faire tourner Wireshark sur l'ordi. ni l'interface d admin web ni l'app n'utilise https.

rene-d avatar Jan 14 '21 23:01 rene-d

ahhhhh :)

POST /ws HTTP/1.1
Authorization: X-Sah xxxxxxxxxxxxxxxxxxxxx
Content-Type: application/x-sah-ws-4-call+json; charset=utf-8
Content-Length: 102
Host: X.X.X.X
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: xxxxxx/sessid=xxxxxx
User-Agent: okhttp/4.5.0

{"service":"HomeLan","method":"getDeviceResults","parameters":{"Seconds":259200,"NumberOfReadings":0}}
HTTP/1.1 200 OK
Server: Grom
Date: Fri, 15 Jan 2021 06:56:26 +0000
Content-Type: application/x-sah-ws-4-call+json; charset=UTF-8
X-Content-Type-Options: nosniff
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Transfer-Encoding: chunked

2000
{"status":{"F4:XX:XX:XX:XX:XX":{"Interface":"eth1","Traffic":[  
{"Timestamp":1610693769,"Rx_Counter":166688,"Tx_Counter":146896},    {"Timestamp":1610693739,"Rx_Counter":163336,"Tx_Counter":110488},    {"Timestamp":1610693709,"Rx_Counter":156704,"Tx_Counter":130912},    {"Timestamp":1610693679,"Rx_Counter":251440,"Tx_Counter":206728},  {"Timestamp":1610693649,"Rx_Counter":906240,"Tx_Counter":386160},
...   

pcap obtenu avec https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture recupération OK avec ma "gateway" en PHP

...
$retour["traffic"] = (json_decode(Common::curlPost($url.$endpoint,'{"service":"HomeLan","method":"getDeviceResults","parameters":{"Seconds":259200,"NumberOfReadings":0}}',$ch, $optsupp)["body"],true))["status"];
...

@rene-d, dispo pour creuser les autres infos dispos ;)

nono303 avatar Jan 15 '21 07:01 nono303

Séquence dédoublonnée des appels :

{":"UserManagement","method":"getUser","parameters":{"name":"XXXX"}}
{":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"MaLivebox","username":"XXXX","password":"XXXX"}}
{":"NeMo.Intf.guest","method":"getIntfs","parameters":{"flag":"wlanvap","traverse":"down"}}
{":"NeMo.Intf.lan","method":"getMIBs","parameters":{"flag":"wlanradio  || eth || wlanvap","traverse":"down"}}
{":"NeMo.Intf.lan","method":"getMIBs","parameters":{"mibs":"wlanvap || wlanradio","flag":"","traverse":"down"}}
{":"SpeedTest","method":"get","parameters":{}}
{":"AutoDiag","method":"listDiagnostics","parameters":{}}
{":"HomeLan","method":"getDevicesStatus","parameters":{}}
{":"HomeLan","method":"getStatus","parameters":{}}
{":"NeMo.Intf.lan","method":"getMIBs","parameters":{"mibs":"wlanvap","flag":"","traverse":"down"}}
{":"TopologyDiagnostics","method":"buildTopology","parameters":{}}
{":"Devices","method":"get","parameters":{"expression":{"ip_devices":"not  self && (eth || wifi) && .Active == false"}}}
{":"Scheduler","method":"getCompleteSchedules","parameters":{"type":"ToD"}}
{":"NMC","method":"get","parameters":{}}
{":"VoiceService.VoiceApplication","method":"listTrunks","parameters":{}}
{":"NMC","method":"getWANStatus","parameters":{}}
{":"PnP","method":"get","parameters":{}}
{":"NMC.OrangeTV","method":"getIPTVStatus","parameters":{}}
{":"DeviceInfo","method":"get","parameters":{}}
{":"Scheduler","method":"getSchedule","parameters":{"type":"WLAN","ID":"wl0"}}
{":"OrangeRemoteAccess","method":"get","parameters":{}}
{":"NMC.Guest","method":"get","parameters":{}}
{":"NMC.WlanTimer","method":"getActivationTimer","parameters":{"InterfaceName":"guest"}}
{":"NMC.Wifi","method":"get","parameters":{}}
{":"UserInterface","method":"getState","parameters":{}}
{":"NeMo.Intf.data","method":"getMIBs","parameters":{"mibs":"dsl","flag":"","traverse":"down"}}
{":"HomeLan","method":"getDeviceResults","parameters":{"Seconds":259200,"NumberOfReadings":0}}
{":"HomeLan","method":"getResults","parameters":{"Seconds":259200,"NumberOfReadings":0,"InterfaceName":["xDSL","WAN_Ethernet","WAN_GPON","ADSL-IPTV_Live1","ADSL-IPTV_Live2","ADSL-IPTV_VOD","ADSL-IPTV_Zapping","VDSL-IPTV","WAN_Ethernet-IPTV_VOD","WAN_Ethernet-IPTV_Live"]}}

la dernière renvoie aussi les Tx & Rx par interface...

nono303 avatar Jan 15 '21 07:01 nono303

C'est l'appli que j'avais utilisé hier, mais je n'avais plus de réponse de l'appli Orange, car je n'était pas sur place. Du coup, c'est quoi l'url?

Sinon, pour Rene-d, on trouve ces informations dans l'application Ma Livebox, en cliquant sur la roue crantée, puis juste au dessus du test de débit "pur".

(edit: screenshot supprimé, il y a le numéro)

nicolab28 avatar Jan 15 '21 07:01 nicolab28

@nicolab28 l'url est http://192.168.x.x/ws mais pour récupérer les données "à la main" il faut s'authentifier avec {":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"MaLivebox","username":"XXXX","password":"XXXX"}} et réinjecter le cookie & contextID dans les request headers

nono303 avatar Jan 15 '21 07:01 nono303

Merci Question conne... ws comme websocket?

nicolab28 avatar Jan 15 '21 07:01 nicolab28

Merci Question conne... ws comme websocket?

nop! webservice ;)

nono303 avatar Jan 15 '21 08:01 nono303

Perso, j'utilise une librairie NodeJS et elle utilise so_sdkut comme applicationName. C'est quoi la différence avec MaLivebox? Je viens de tester, et à priori rien...

Et quand je fais une requête avec "HomeLan","method":"getDeviceResults" je n'ai des résultats que sur eth4, alors que j'utilise les 4 ports LAN de la box

{ "status": { "48:D6:D5:89:C0:EE": { "Interface": "eth3", "Traffic": [] }, "1C:83:41:28:1B:3F": { "Interface": "eth1", "Traffic": [] }, "10:E7:C6:F6:3C:77": { "Interface": "eth4", "Traffic": [] }, "38:0B:3C:E9:56:C0": { "Interface": "eth3", "Traffic": [] }, "D8:6C:E9:3A:FB:76": { "Interface": "eth4", "Traffic": [ { "Timestamp": 1610697932, "Rx_Counter": 1438512, "Tx_Counter": 1621832 }, { "Timestamp": 1610697330, "Rx_Counter": 1007080, "Tx_Counter": 412728 }, { "Timestamp": 1610696728, "Rx_Counter": 443864472, "Tx_Counter": 3118984 } ] }, "54:10:EC:36:83:88": { "Interface": "eth2", "Traffic": [] } } }

nicolab28 avatar Jan 15 '21 08:01 nicolab28

Ok j'ai tous eth dans getResults

nicolab28 avatar Jan 15 '21 08:01 nicolab28

Il y a même les traffic GPON

nicolab28 avatar Jan 15 '21 08:01 nicolab28

Sinon, pour Rene-d, on trouve ces informations dans l'application Ma Livebox, en cliquant sur la roue crantée, puis juste au dessus du test de débit "pur".

je viens d'essayer avec l'app Android... et il y a une différence avec celle pour iOS. Je comprends maintenant pourquoi je ne trouvais pas ces données. La page d'accueil est la même, mais pas quand on appuie sur la roue.

Quant à creuser la MIB de la lb5, à voir...

rene-d avatar Jan 15 '21 19:01 rene-d

Salut, Vous savez à quoi correspondent les valeurs Rx_Counter & Tx_Counter ?

  • Est-ce le en bytes ou bits ?
  • transférés sur la fenêtre de 30 secondes ou par seconde ?

nono303 avatar Jan 18 '21 11:01 nono303

...Cela semble correspondre au nombre de bits sur 30 secondes : Divisé par 240 est cohérent avec du bytes/sec

nono303 avatar Jan 18 '21 22:01 nono303

Bonjour, Merci @rene-d pour ce développement. Et du coup, quelqu'un arrive à grapher les statistiques Fibre, et obtenir quelquechose de cohérent?

smlpdocin avatar Mar 08 '21 07:03 smlpdocin

Bonjour, Merci @rene-d pour ce développement. Et du coup, quelqu'un arrive à grapher les statistiques Fibre, et obtenir quelquechose de cohérent?

Merci :) Je ne sais pas. L'app Android permet de récupérer des stats, contrairement à celle pour iOS. C'est donc faisable.

rene-d avatar Mar 16 '21 03:03 rene-d

Salut @smlpdocin Un exemple de ce que je graphe de mon coté (php > opentsdb > grafana) Untitled et j'ai les mêmes graphs pour chaque device connecté

nono303 avatar Mar 19 '21 11:03 nono303

Je suis en train d'essayer d'intégrer les données de débits de ma lb5 sur Zabbix, et pour l'instant en exécutant .\sysbus.py sysbus.HomeLan:getResults NumberOfReadings=1 j'arrive a avoir qu'une seule donnée de trafic par interface ce qui est un bon début. Je compte après intégrer tout ca à une weathermap faite sur Grafana

Pour ce qui est de l'unité @nono303 as raison: c'est bien du bits/30 secondes (j'ai comparé avec ce que me donnait l'application sur Android, donc en divisant par 30 000 000 on obtient bien du mpbs

ternium1 avatar Oct 27 '21 14:10 ternium1