• Forums
  •  » Logiciel
  •  »  Programme pour extraire les informations sur sa ligne

#1 13-07-2017 14:47:30

benoit16
Membre
Date d'inscription: 08-06-2016
Messages: 33

Programme pour extraire les informations sur sa ligne

Bonjour,

L'année passée, j'ai souffert à cause de problèmes de ligne.

Après des heures de discussion avec la hotline, trois visites de techniciens d'Orange,
la cause de ce problème a été trouvée.
C'était une connexion oxydée dans une boîte de connexion à 50 mètre de ma maison.

Lors de cette expérience, j'ai réalisé que les liveboxes ne fournissent pas
une information détaillée sur la ligne.

J'ai donc écrit un script pour surveiller ma ligne.
Ce script peut être lancé depuis votre domicile ou depuis un autre accès à Internet.
Ce script indique le délai dur dernier reset de la connexion, les débits,
les marges de bruit et les erreurs détectées sur la ligne.
Il fonctionne avec une livebox 2.

Afin d'aider ceux qui veulent avoir plus d'informations sur leurs lignes
je vous le transmets.

Bonne journée.

#!/usr/bin/perl
# Script that connects to a livebox and extract dsl relevant informations

use strict;
use WWW::Mechanize;
use HTTP::Cookies;
use JSON;

# URL to connect to the livebox (http://192.168.1.1 if it is from your home)
#my $liveboxiurl   = "https://192.168.1.1";
my $liveboxUrl = "https://xxx.zapto.org:10000";
# Username to connect to the web interface (admin if it is from your home)
#my $user      = "admin";
my $user      = "xxx";
# Password for the web user
my $pass      = "xxx";
# Interval between two queries
#my $sleepTime = "600";
my $sleepTime = "100";

my @mibFields = ('LinkStatus',
        'LastChange',
        'DownstreamCurrRate',
        'DownstreamNoiseMargin',
        'DownstreamAttenuation',
        'DownstreamPower',
        'UpstreamCurrRate',
        'UpstreamNoiseMargin',
                'UpstreamAttenuation',
        'UpstreamPower');

my @dslFields = ("FECErrors", "CRCErrors", "HECErrors");

my ($field, $sec, $min, $hour, $day, $month, $year);

# Set autoflush on stdout, usefull when you redirect to a file
select(STDOUT);
$| = 1;


my $mech=WWW::Mechanize->new(cookie_jar=>HTTP::Cookies->new(),
                 ssl_opts =>{'verify_hostname'=>0},
                 timeout=>15);

while (1) {
    # Just write the date of the connection
    ($sec, $min, $hour, $day, $month, $year) = (localtime)[0,1,2,3,4,5];
    $year  = $year+1900;
    $month = sprintf '%02d', $month+1;
    $day   = sprintf '%02d', $day;
    $hour  = sprintf '%02d', $hour;
    $min   = sprintf '%02d', $min;
    $sec   = sprintf '%02d', $sec;
    print $year,$month, $day, $hour, $min, $sec, "/";

    # Authenticate
    $mech->post("$liveboxUrl/authenticate?username=$user&password=$pass",
        Content =>"");
   
    # Set the contextID to use the session that we have just opened
    $mech->add_header("X-Context"=>decode_json($mech->content)->{"data"}{"contextID"});
   
    # Get MIB datas
    $mech->post("$liveboxUrl/sysbus/NeMo/Intf/data:getMIBs",Content =>'{"parameters":{"mibs":"dsl","flag":"","traverse":"down"}}');
   
    #print to_json(decode_json($mech->content))."\n";
    # The iformation is only relevant if the line is up
    if (decode_json($mech->content)->{"status"}{"dsl"}{"dsl0"}{'LinkStatus'} eq 'Up') {
    foreach $field (@mibFields) {
        print "$field:";
        print decode_json($mech->content)->{"status"}{"dsl"}{"dsl0"}{$field};
        print "\n";
    }

        # Get dsl informations
    $mech->post("$liveboxUrl/sysbus/NeMo/Intf/dsl0:getDSLStats",Content =>'{"parameters":{}}');
    foreach $field (@dslFields) {
        print "$field:";
        print decode_json($mech->content)->{"status"}{$field};
        print "\n";
    }
    } else {
    print decode_json($mech->content)->{"status"}{"dsl"}{"dsl0"}{'LinkStatus'};
    print "\n";
    }
    sleep ($sleepTime);
    $mech->post("$liveboxUrl/logout", Content =>"");
    print "---\n";
}

Hors ligne

 

#2 13-07-2017 16:26:23

guirigui
Je trouve plus la sortie
Date d'inscription: 21-08-2013
Messages: 1404

Re: Programme pour extraire les informations sur sa ligne

Hello,

OK, mais ce n'est pas ce que propose LiveboxMonitor dispo dans ce site qui n'est malheureusement pas mis à jour pour les LB4???

Aussi SHDF fait un peu la même chose avec Liveboxinfo qui est à jour..

Explique nous SVP ce qu'apporte spécifiquement ce sript?

Merci

Cldt

Nota: ayant été abonné à FREE, je rêve d'une prestation telle que celle dispo dans la BOX Révolution qui, en temps réel avec rafraichissement rapide, donne des courbes de marge de bruit et débit... On peut choir des périodes de temps courtes ou longues..
Si la ligne a des accidents ponctuels, on voit très bien ce qu'il se passe et quand..

Dernière modification par guirigui (13-07-2017 16:32:27)

Hors ligne

 

#3 13-07-2017 16:58:36

shdf
Avant FONO j'avais une vie
Date d'inscription: 26-03-2012
Messages: 2238
Site web

Re: Programme pour extraire les informations sur sa ligne

guirigui a écrit:

Aussi SHDF fait un peu la même chose avec Liveboxinfo qui est à jour..

et LBmonitor wink


Livebox 4 + Décodeur TV - Distance NRA: 301m - VDSL2 90mb/18mb.
Utilitaire info Livebox: Voir mon "Site web" à gauche. Autres outils: Voir la section logiciel.

Hors ligne

 

#4 13-07-2017 17:37:59

benoit16
Membre
Date d'inscription: 08-06-2016
Messages: 33

Re: Programme pour extraire les informations sur sa ligne

Bonjour,

Je n'ai pas encore analysé ce que font SHDF et LBmonitor.
Dans mon cas, LiveboxMonitor ne pouvait pas être utilisé
car je n'ai pas de machine Windows.
LiveboxMonitor ne tourne que sous Windows.

Bonne journée.

Hors ligne

 

#5 13-07-2017 19:21:20

sambapati
J'y suis, j'y reste !
Date d'inscription: 12-03-2015
Messages: 754

Re: Programme pour extraire les informations sur sa ligne

Bonsoir.

Il serait judicieux, je pense, de déplacer cette discussion dans la section «Logiciel». Un titre moins générique serait aussi utile.

Une description un peu plus détaillée aiderait aussi.

Au lieu de « reset de la connexion » qui est plutôt ambigu, il faudrait parler de « synchronisation » et de sa durée.

Bref c’est une très bonne initiative et surtout pour les linuxiens (@Markco où es tu ?), qui mérite une plus ample divulgation.

Kudos pour @benoit16 !

Bonne soirée.

Hors ligne

 

#6 13-07-2017 20:51:02

Markco
J'y suis, j'y reste !
Lieu: ~ de Dax (40)
Date d'inscription: 25-01-2008
Messages: 608

Re: Programme pour extraire les informations sur sa ligne

Me voici wink

Pour les infos de la LB sous Linux, j'utilise l'excellent utilitaire de JoeKer dispo ici :
http://www.forum-orange.com/viewtopic.p … 14#p760114


Linux Mint : 18.2 Kernel : 4.12.2 - Lb 4 - Fw: 2.20.8

Hors ligne

 

#7 13-07-2017 21:27:52

JoeKer
Modérateur
Lieu: A l'Ouest à nouveau ...
Date d'inscription: 26-03-2008
Messages: 39722
Site web

Re: Programme pour extraire les informations sur sa ligne

Bonsoir.

tkPyDLB n'a d'intérêt que pour une interrogation ponctuelle.

Ce que fait le script de benoit16 ressemble plus à ce que fait LiveboxMonitor ...

Je n'exclus pas de faire l'équivalent en python, mais pour le moment, ça n'est que du projet smile

@benoit16 : Ton script s'adresse uniquement à la LiveBox2, c'est peut-être un peu dommage (il pourrait peut-être fonctionner sur LB3, mais pas sur LB4 à cause de la méthode d'authentification).
Si j'ai bien compris le script, le "logout" est fait à l'expiration du timer, donc juste avant de faire l'interrogation suivante ...

Je déplace la discussion dans la rubrique "Logiciel" smile


Livebox-Play Fibre : LB3(FW SG30_sip-fr-6.4.16.1) + IHD92 (40.12.61) + WE-Record|Offre Sosh 4G : Samsung J3(6) Duos "no brand" (+ ViewPad7, HTC WildFireS,  Samsung Ace3)
On a déjà vu des choses qui ne sont jamais arrivées ...

Hors ligne

 

#8 14-07-2017 10:20:25

benoit16
Membre
Date d'inscription: 08-06-2016
Messages: 33

Re: Programme pour extraire les informations sur sa ligne

Bonjour,

Le logout se fait effectivement après le sleep.
Il aurait peut être été plus judicieux de le faire avant le sleep.

Je ne connais que la LB 2 (Sagem blanche).
Je ne l'ai effectivement pas testé sur d'autres liveboxes.

Bonne journée.

Dernière modification par benoit16 (14-07-2017 14:46:01)

Hors ligne

 

  • Forums
  •  » Logiciel
  •  »  Programme pour extraire les informations sur sa ligne

Powered by PunBB
© Copyright 2002–2008 PunBB