tiens, une nouveauté!!
-Le mot de passe doit comporter entre 8 et 32 caractères alphabétiques avec au moins un chiffre, ou une majuscule, ou un caractère spécial. Les caractères autorisés sont espace ! # $ % & ' ( ) * + , - . / :
tu as quel version de firmware? la 2.17.8
Hors ligne
mot de passe remplacé, toujours vérifier mot de passe mdr.
Hors ligne
je viens de reprendre liveboxmonitor 2.11 de jls, voiçi ce que j'ai depuis la màj en 2.17.8,
-Connexion impossible, vérifier le mot de passe et le fonctionnement de la Box.
Alors qu'il fonctionnait en 2.15.14.1
Hors ligne
Bon ben cette mise à jour 2.17.8 à encore "cassé" quelque chose...et là c'est plus grave car ca correspond à la méthode d'authentification...
Hors ligne
c'est à dire?
Dernière modification par pierrot42 (09-11-2016 23:31:10)
Hors ligne
Bonsoir.
shdf a écrit:
Bonjour,
juste pour dire que le support des livebox 2 et 3 s'arrête à la version 1.9.3 de LiveboxInfo. Les versions suivantes ne marcheront pas.
Le support officiel de la Livebox 4 se fait à partir de la version 1.9.4, mis en ligne ce jour.
N'ayant plus de Livebox 3 je ne peux plus assurer de mises à jour pour ces anciennes LiveBox.
Dans la mesure où tu fournis toujours le fichier source, j'ai regardé, et vu que tu n'as pas complètement "scratché" la partie LB2/LB3 du source.
Il y aurait peut-être moyen de l'adapter pour qu'il fonctionne sur les 3, non ?
Mais peut-être veux-tu alléger le programme ?
Si on veut l'adapter proprement, je pense qu'il faut revoir le "parseur" de données JSON (les noms de variables sont toujours les mêmes, seul l'ordre change) ...
Hors ligne
Effectivement, avoir un parser JSON qui marche réglerait le problème et permettrait de maintenir facilement 1 programme pour les 3 livebox. Mais le problème c'est que je n'en ai pas trouvé. il en existe pour d'anciennes versions d'Autoit mais ça n'a pas été maintenu.
Comme tu l'as remarqué, les variables JSON n'ont pas changé, c'est seulement l'ordre qui n'est plus le même sur la LB4. Donc j'ai fait une adaptation rapide, j'avais pas envie de me prendre la tête et développer un cas de figure supplémentaire pour la LB4.
Pour les prochaines versions pour LB4 j’allégerais le code en supprimant ce qui concerne les autres LB.
Visiblement la dernière MAJ du firmware change encore quelque chose, visiblement sur la manière de s'authentifier (vu le problème de pierrot42)...Malheureusement je ne peux rien faire pour le moment, il faut que je passe sur ce nouveau firmware pour comprendre ce qu'il se passe.
Dernière modification par shdf (10-11-2016 11:02:06)
Hors ligne
le truc c'est que j'ai qu'un pc pour essayer. Là je viens de encore le réinstaller à zéro, plus aucun programme, rien a faire, ça veux rien savoir.
Dans le fichier text config.ini j'ai:
[setting]
LiveboxIP=192.168.1.1
password=ines&ilan
c'est en encodage "ANSI"
elle est bonne cette partie là? le mot de passe j'en suis sur à 100%, je me trompe pas quoi.
Hors ligne
Pierrot42, Liveboxinfo ne marche pas avec ta version de firmware, quoi que tu fasses ca ne marchera pas, ce n'est pas un problème de mot de passe, c'est un problème de méthode. Le système d'authentification ou une variable à changé avec ce nouveau firmware et je ne peux rien faire tant que je ne suis pas moi aussi passé à cette version.
Hors ligne
Tu veux que je te fasse une autorisation d'accès a distance de mon pc? si j'arrive a y activer mdr
Hors ligne
Bonsoir.
Sans avoir un parseur JSON efficace, il y a moyen d'optimiser les extractions sans être dépendant de l'ordre des paramètres, je pense ...
Dans cette partie de code :
;Traitement getWANstatus $LinkType = StringRegExp($getWANStatus, 'LinkType":"(.*)","LinkState', 3) $LinkState = StringRegExp($getWANStatus, 'LinkState":"(.*)","MACAddress', 3) $MACAddress = StringRegExp($getWANStatus, 'MACAddress":"(.*)","Protocol', 3) $Protocol = StringRegExp($getWANStatus, 'Protocol":"(.*)","ConnectionState', 3) $ConnectionState = StringRegExp($getWANStatus, 'ConnectionState":"(.*)","LastConnectionError', 3) $LastConnectionError = StringRegExp($getWANStatus, 'LastConnectionError":"(.*)","IPAddress', 3) $IPAddress = StringRegExp($getWANStatus, 'IPAddress":"(.*)","RemoteGateway', 3) $RemoteGateway = StringRegExp($getWANStatus, 'RemoteGateway":"(.*)","DNSServers', 3) $DNS = StringRegExp($getWANStatus, 'DNSServers":"(.*)","IPv6Address', 3) $DNSServers = StringSplit($DNS[0], ",") $IPv6Address = StringRegExp($getWANStatus, 'IPv6Address":"(.*)"}}', 3)
J'ai fait des modifs, ce qui donne :
;Traitement getWANstatus $LinkType = StringRegExp($getWANStatus, 'LinkType":"([^"]*)"', 3) $LinkState = StringRegExp($getWANStatus, 'LinkState":"([^"]*)"', 3) $MACAddress = StringRegExp($getWANStatus, 'MACAddress":"([^"]*)"', 3) $Protocol = StringRegExp($getWANStatus, 'Protocol":"([^"]*)"', 3) $ConnectionState = StringRegExp($getWANStatus, 'ConnectionState":"([^"]*)"', 3) $LastConnectionError = StringRegExp($getWANStatus, 'LastConnectionError":"([^"]*)"', 3) $IPAddress = StringRegExp($getWANStatus, 'IPAddress":"([^"]*)"', 3) $RemoteGateway = StringRegExp($getWANStatus, 'RemoteGateway":"([^"]*)"', 3) $DNS = StringRegExp($getWANStatus, 'DNSServers":"([^"]*)"', 3) $DNSServers = StringSplit($DNS[0], ",") $IPv6Address = StringRegExp($getWANStatus, 'IPv6Address":"([^"]*)"}}', 3)
C'est plus simple à écrire et à lire, et ça devrait marcher quel que soit l'ordre des variables JSON ...
Comme je suis en fibre, la partie "getMibs" ne fonctionne pas, je l'ai donc commentée (j'aurais pu aussi masquer la partie getDSLStats, qui n'a pas de sens en fibre), ça me donne ça comme résultat :
ReceiveBlocks : 0
TransmitBlocks : 0
CellDelin : 0
LinkRetrain : 0
InitErrors : 0
InitTimeouts : 4294967295
LossOfFraming : 0
ErroredSecs : 0
SeverelyErroredSecs : 0
FECErrors : 0
ATUCFECErrors : 0
HECErrors : 0
ATUCHECErrors : 0
CRCErrors : 0
ATUCCRCErrors : 0
LinkType : ethernet
LinkState : up
MACAddress : B8:26:6C:xx:xx:xx
Protocol : dhcp
ConnectionState : Bound
LastConnectionError : None
IPAddress : 86.253.xxx.xxx
RemoteGateway : 86.253.32.1
DNSServer1 : 81.253.149.1
DNSServer2 : 80.10.246.130
IPv6Address :
Manufacturer : Sagemcom
ManufacturerOUI : B8266C
ModelName : SagemcomFast3965_LB2.8
ProductClass : Livebox 3
SerialNumber : AN152960XXXXXXX
HardwareVersion : SG_LB3_1.2.1
SoftwareVersion : SG30_sip-fr-5.17.5.1
HardwareVersion 2:
SoftwareVersion 2: g5-r-sip-fr
RescueVersion : SG30_sip-fr-5.17.3.1
EnabledOptions :
SpecVersion : 1.1
ProvisioningCode : XXXX.XXXX.XXXX.VSIP.XXXX.XXXX.WCOM.XXXX.XXXX
UpTime : 431112
Country : fr
NumberOfReboots :
P.S. : Ne sachant à quoi correspond le "ProvisionningCode", j'ai préféré le masquer (il faudrait peut-être le faire dans le code ?).
Hors ligne
Bonjour, Je viens de faire l'essai avec la version 1.9.4 sous Wine (linux mint) et livebox info me dit : La livebox n'est pas joingnable sur l'ip 192.168.1.1
Hors ligne
Bonjour.
As-tu essayé, depuis une fenêtre de ligne de commandes (terminal), de faire un ping vers ta LiveBox ?
Ca permettrait de savoir si le problème est lié à la connexion entre ton Linux Mint et la LiveBox ou un problème entre Liveboxinfo et ton OS via Wine ...
Hors ligne
Le ping vers la LB fonctionne.
Avec la version 1.9.3 et avant la fameuse mise à jour qui a tout cassée et bien je n'avais aucun problème a faire fonctionner Livebox monitor avec wine.
Dernière modification par Markco (15-11-2016 19:14:33)
Hors ligne
Bonsoir.
Et que dit la 1.9.3 ?
Quel modèle de LiveBox as-tu ?
Hors ligne
bonjour !
voici le bout de code qui teste si la livebox est joignable ou pas :
$ping = ping($LIVEBOX,1000)
if $ping = 0 then
MsgBox(0,'Erreur de connexion',"La Livebox n'est pas joignable sur l'IP : " & $LIVEBOX)
Exit
EndIf
on fait un ping sur la livebox, si au bout de 1 seconde il n'y a pas de réponse alors il y a erreur. donc a moins que l'ip indiquée dans le config.ini ne soit pas bonne...je ne vois pas...
@joeker
peux-tu m'expliquer le regex super efficace que tu utilises dans ton post plus haut?
j'ai finalement opté pour ce regex:
$LinkType = StringRegExp($getWANStatus, '(?U)LinkType":"(.*)"', 3)
(?U) indique de stopper la recherche après le 1er résultat trouvé, donc plus nécessaire de mettre beaucoup de caractères après le regex par peur que ca match une 2eme fois plus loin.
Dernière modification par shdf (15-11-2016 20:19:23)
Hors ligne
Hello shdf
Si on m'avait dit qu'un jour j'expliquerais des expressions régulières sur un forum, j'aurais peut-être dit "C'est du délire" !
Mais tentons quand-même ...
Je mettrais des {} pour délimiter un exemple {habituellement, on met entre parenthèses}, puisque les parenthèses sont compliquées à utiliser quand il y a des parenthèses dans l'expression.
Je vais prendre la même variable que la tienne pour l'explication :
Appelons la "E1" :
$LinkType = StringRegExp($getWANStatus, 'LinkType":"(.*)","LinkState', 3)
et son équivalent "E2" que je propose :
$LinkType = StringRegExp($getWANStatus, 'LinkType":"([^"]*)"', 3)
Dans E1, "LinkType":"(.*)","LinkState'" te permet de borner ce que tu extrairas pour LinkType par l'expression qui suit {LinkState}.
Telle qu'est écrite l'extraction {(.*)}, tu vas extraire tout ce qu'il y a entre ce qui précède la parenthèse {dans E1, LinkType":"} jusqu'à la dernière occurrence de ce qui suit la parenthèse {dans E1, ","LinkState}, car c'est ainsi que fonctionnent les expressions régulières {dans AutoIT comme sous Linux/Unix, et probablement en PERL, PHP}.
Le principe de l'extraction à base d'expression régulière est de récupérer la plus large chaîne qui correspond au modèle qui a été demandé, ce qui nécessite de borner clairement ce qu'on veut extraire.
Ce que tu faisais en mettant le nom de la variable suivante ...
L'inconvénient, que tu as rencontré, c'est que si l'ordre des variables changent, ton expression régulière n'est plus utilisable.
La façon de faire que je propose s'appuie sur le fait qu'on utilise un délimiteur {"} juste avant la parenthèse ouvrante. Sur un résultat JSON, le '"' "ouvrant" doit avoir son équivalent "fermant".
Ainsi, si le JSON renvoyé par la LiveBox est 'LinkType":"dsl","LinkState', E1 (comme E2) devrait extraire la valeur 'dsl' sans les caractères '"' qui l'encadrent dans le JSON.
Je l'écris donc, dans E2 :
'LinkType":"([^"]*)"'
- La parenthèse ouvrante {en gras} définit à partir d'où je vais extraire,
- les crochets précisent l'ensemble de caractère à extraire,
- comme le crochet ouvrant est immédiatement suivi d'un "^", c'est une négation
- comme entre les crochets, en dehors du "^" je n'ai que le guillemet
- comme après le crochet, j'ai une étoile, j'extrais de 'rien' jusqu'à autant de caractères correspondant à l'ensemble entre crochets
- jusqu'à la parenthèse fermante
Je vais donc extraire tout ce qui n'est pas guillemet, jusqu'à trouver un guillemet " que je n'extrais pas puisqu'il suit la parenthèse fermante.
Je ne connaissais pas la notation "(?U)", mais après vérification dans l'aide en ligne, elle semble faire la même chose {mais, je ne sais pas si elle a des effets de bord}.
Si cette notation n'a pas d'effet de bord, elle est plus lisible que ma proposition {et moins fastidieuse à écrire}
Hors ligne
Ok merci pour l'explication
En fait après lecture de ceci:
https://blog.mariusschulz.com/2014/06/0 … ually-want
et après avoir testé, je pense que la vrai bonne solution et la plus lisible c'est d'utiliser (.*?) :
$LinkType = StringRegExp($getWANStatus, 'LinkType":"(.*?)"', 3)
? — match the token zero times (not at all) or exactly once
Dernière modification par shdf (16-11-2016 13:32:37)
Hors ligne
JoeKer a écrit:
Bonsoir.
Et que dit la 1.9.3 ?
Quel modèle de LiveBox as-tu ?
Même message que sur la 1.9.4 (livebox pas joignable au 192.168.1.1) et j'ai la LB4.
Des que la mise à jour de la lb a eu lieu (2.17.8) j'ai eu ce message et avant la mise à jour ça fonctionnait impec.
Pourquoi maintenant ça me dit que la lb n'est pas joignable, alors que l'IP est bonne ça mistère !!!!
Qu'a donc cassée la mise à jour pour produire un tel dysfonctionnement !!!!!?????
Hors ligne
Bonsoir.
@Markco : Vérifie le pare-feu de ton PC (au besoin, désactive le le temps de vérifier le ping avec Liveboxinfo), au cas où celui-ci bloquerait quelque chose.
J'ai vérifié, et le ping effectué en ligne de commandes n'est pas le même que celui effectué par Liveboxinfo, ça peut être une raison ...
@shdf : Oui, cette formulation serait plus portable et plus lisible ...
Hors ligne
@JoeKer, Firewall actif ou pas même résultat "La livebox n'est pas joingnable sur l'ip 192.168.1.1"
Hors ligne
Ne vous cassez pas la tête si vous avez le firmware 2.17.8, que la box soit joignable ou pas, ca ne marche pas de toute facon . Lorsque je passerai a cette version je regarderai ce qui cloche...
Hors ligne
Bonsoir.
@Markco : Serais-tu en mesure de faire une capture réseau avec Wireshark (contenant le ping depuis la console et le ping depuis Liveboxmonitor) ?
Est-ce que ça fonctionne (le ping) toujours avec la 1.9.3 ?
@shdf : Peut-être pierrot42 pourrait-il te fournir une trace des échanges de l'authentification entre son navigateur et la LiveBox ?
Ca ferait gagner du temps ...
Mais ça risque de ne pas être facile (on a déjà vu ce que ça donnait en nombre de messages pour la mise au point de tes outils )
Hors ligne
JoeKer a écrit:
Bonsoir.
@Markco : Serais-tu en mesure de faire une capture réseau avec Wireshark (contenant le ping depuis la console et le ping depuis Liveboxmonitor) ?
Est-ce que ça fonctionne (le ping) toujours avec la 1.9.3 ?
Si tu me dis comment procéder oui, j'ai déjà installé Wireshark.
Hors ligne