Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Statistique & fibre #28

Open
nicolab28 opened this issue Jan 14, 2021 · 22 comments
Open

Statistique & fibre #28

nicolab28 opened this issue Jan 14, 2021 · 22 comments

Comments

@nicolab28
Copy link

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.

@rene-d
Copy link
Owner

rene-d commented Jan 14, 2021

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.

@nicolab28
Copy link
Author

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?

@rene-d
Copy link
Owner

rene-d commented Jan 14, 2021

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, ...

@nicolab28
Copy link
Author

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
Copy link
Author

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

@rene-d
Copy link
Owner

rene-d commented Jan 14, 2021

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.

@nono303
Copy link

nono303 commented Jan 15, 2021

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
Copy link

nono303 commented Jan 15, 2021

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...

@nicolab28
Copy link
Author

nicolab28 commented Jan 15, 2021

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)

@nono303
Copy link

nono303 commented Jan 15, 2021

@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

@nicolab28
Copy link
Author

Merci
Question conne... ws comme websocket?

@nono303
Copy link

nono303 commented Jan 15, 2021

Merci
Question conne... ws comme websocket?

nop! webservice ;)

@nicolab28
Copy link
Author

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
Copy link
Author

Ok j'ai tous eth dans getResults

@nicolab28
Copy link
Author

Il y a même les traffic GPON

@rene-d
Copy link
Owner

rene-d commented Jan 15, 2021

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...

@nono303
Copy link

nono303 commented Jan 18, 2021

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
Copy link

nono303 commented Jan 18, 2021

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

@smlpdocin
Copy link

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

@rene-d
Copy link
Owner

rene-d commented Mar 16, 2021

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.

@nono303
Copy link

nono303 commented Mar 19, 2021

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é

@ternium1
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants