OK. C'est plus compréhensible comme ça ...
Apparemment, ton antivirus freine l'échange de données lors du ping (mais je ne sais pas exactement sur quel critère.
Peux-tu réessayer en CMD, antivirus activé, avec un "ping -w 1 192.168.1.1", mais je ne suis pas certain du résultat
En principe, ça devrait mettre un TimeOut de 1 milliseconde sur la tentative, mais je n'ai pas trouvé de cas où ça réagisse comme souhaité ...
Si effectivement, tu as un timeout, essaye d'augmenter le timeout (jusqu'à -w 3000), pour trouver les limites ...
Le ping, sous Windows/DOS, est paramétré avec un timeout de 4000 ms, ce qui peut expliquer pourquoi ça passait sous DOS et pas avec Liveboxinfo.
@Markco : Au post #76, tu n'as pas donné suite pour la capture réseau avec Wireshark (ou tcpdump, puisque tu es sous Linux). C'est peut-être la seule solution pour avancer sur ton problème
Hors ligne
Je viens de tester, mais rien de particulier, j'ai le même résultat au ping avec un time out de 1ms ou 5000ms
Première requête 5ms, les suivantes 2ms
Hors ligne
Je suppose que tu as autorisé Liveboxinfo depuis
Peux-tu vérifier si "ping" est autorisé, et s'il l'est, lui enlever l'autorisation, puis refaire le test ?
Hors ligne
Oui, j'ai autorisé LiveboxInfo, sans numéro de version...
Pour le ping, si je supprime l'autorisation, impossible de sortir et ce quel que soit le timeout indiqué, j'ai poussé jusqu'à 9000.
Je n'obtiens que Défaillance générale
Hors ligne
JoeKer a écrit:
@Markco : Au post #76, tu n'as pas donné suite pour la capture réseau avec Wireshark (ou tcpdump, puisque tu es sous Linux). C'est peut-être la seule solution pour avancer sur ton problème
Le problème c'est que je n'y arrive pas, je suis completement largué dans la config et l'utilisation du log qui est loin d'être simple.
Si tu as un mode d'emploi, je suis à ton écoute.
Hors ligne
Bonsoir.
OK, si Wireshark te paraît trop compliqué, on va le faire avec tcpdump ...
1) Vérifie d'abord qu'il est bien installé : Tu lances une première console et tu tapes "tcpdmp -h" (sans les guillemets). S'il est installé, tu vas avoir l'aide de la commande. S'il n'est pas installé, installe-le ...
2) Il faut que tu saches quelle est l'interface réseau vers ta LiveBox (supposons que ce soit eth1)
3) Il va falloir donner un nom au fichier de capture (disons capture_ping_LB.pcap)
4) Tu lances avec :
tcpdump -i eth1 -w capture_ping_LB.pcap icmp
5) Tu fais le ping vers la LiveBox, d'abord depuis une autre fenêtre console :
ping -c 4 192.168.1.1
6) Quand la commande ping a fini, tu fais la manip avec Wine et Liveboxinfo
7) Quand tu as eu le message d'erreur, tu fais "CTRL+C" dans la console où est lancé tcpdump, la capture doit s'arrêter.
8) Tu déposes la capture sur un espace de stockage en ligne, et tu postes le lien, (ici, ou en MP si tu préfères ne pas le rendre trop public, mais avec le filtre de capture 'icmp', il n'y aura vraiment pas grand chose de confidentiel dans la capture.)
Hors ligne
@Joeker, j'ai fait comme tu m'as dit et j'espere que ça sera bon, le fichier :
http://www14.zippyshare.com/v/oSctFPeQ/file.html
Pass : en mp
@+
Dernière modification par Markco (10-01-2017 01:08:25)
Hors ligne
Hello !
Récupéré (non sans mal, zippyshare est assez lent).
Alors, je vois bien les quatre ping que je suppose que tu as passés en ligne de commande, comme demandé.
Chose bizarre, après, il y a une réponse ICMP unreachable (ping inaccessible) d'une IP en 84.200.xx.yy (source port 53 (DNS)), puis une réponse ICMP unreachable d'une IP 77.88.8.8 (source port 53 également).
Tu n'aurais pas modifié ta config DNS ?
Ca me fait l'impression que ces deux adresses IP sont des entrées DNS pour "$LIVEBOX" ...
Hors ligne
Oui j'ai modifié les DNS car je n'utilise jamais ceux d'Orange.
Je viens de faire un test en tout automatique (DNS+ip local+ ip passerelle + masque de sous réseau) et le problème reste entier.
Dernière modification par Markco (10-01-2017 04:30:53)
Hors ligne
Bonjour.
Pourrais-tu vérifier ce qu'il y a dans ton "config.ini" ?
J'ai l'impression que la variable "LiveboxIP" pointe sur "livebox".
Comme tu n'utilises pas le DNS de la LiveBox, il vaudrait mieux que tu y mettes l'IP, ça éviterait de faire la résolution de nom vers des DNS qui ne connaissent pas ce nom
Hors ligne
Le config.ini est bien comme ceci : LiveboxIP=192.168.1.1
Et dire qu'avant cette saloperie de mise à jour ça fonctionnait impec avec Wine.
Qu'est ce qui fait que le changement d'authentification provoque une non reconnaissance de l'IP de la LB?
Dernière modification par Markco (10-01-2017 18:58:28)
Hors ligne
Je doute que la mise à jour soit la raison de ton problème, surtout au vu de ta capture d'hier.
On va essayer de capturer plus de choses.
Peux-tu recommencer la capture, en changeant la syntaxe du point 4 ?
Il faudrait que tu lances 'tcpdump -i eth1 -w capture_ping_LB.pcap "icmp or arp or port 53"
Ca va capturer :
- Les pings.
- Les requêtes ARP sur ton réseau local.
- Les requêtes DNS qui me surprennent.
De mon côté, je vais faire tourner Liveboxinfo avec Wine sur un Linux Mint, pour voir si j'ai des comportements anormaux ...
Question : Tu utilises la version 32 bits ou la version 64 bits ?
Hors ligne
on peut récapituler la situation de Markco ?
quelle Livebox et quel firmware ? (le mettre dans la signature ce serait pratique pour nous)
PC sur Mint, ok.
aucun autre PC, sous Windows, sous la main ?
Dernière modification par shdf (10-01-2017 20:14:41)
Hors ligne
Bien, mes tests conduisent aux mêmes résultats avec Wine sous Linux Mint.
En lançant en ligne de commande (wine Liveboxinfo.exe), j'obtenais des messages d'erreur de Wine :
"err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions."
Résolu en passant la commande suivante (trouvée en fouillant sur le net) :
"setcap cap_net_raw+epi /usr/bin/wine-preloader"
[Edit]
Ben finalement, non, pas résolu
Je n'ai plus le message d'erreur (winediag ....), mais j'ai toujours le message d'erreur comme quoi la LiveBox n'est pas joignable).
[/Edit]
Il me reste deux autres messages d'erreur, que j'ai plus de mal à résoudre :
"fixme:winhttp:winhttp_request_QueryInterface interface {7fd52380-4e07-101b-ae2d-08002b2ec713} not implemented"
"fixme:winhttp:winhttp_request_QueryInterface interface {0000010a-0000-0000-c000-000000000046} not implemented"
Si Markco confirme que ça a eu marché, j'aimerais savoir exactement avec quelle version (j'avais compris 1.9.3, mais chez moi, cette version a le même problème).
Dernière modification par JoeKer (10-01-2017 23:01:44)
Hors ligne
J'ai fait d'autres tests.
A priori, ça fonctionnait (lentement) avec la dernière 1.9.2, mais plus avec la dernière 1.9.3.
Je pense que, si tu veux que ce soit utilisable sous Linux avec Wine, shdf, il va falloir tester la présence de la LiveBox différemment.
Je pense par exemple à un "HTTP GET" sur l'IP de la box, qui aurait l'avantage d'éliminer le problème des antivirus et firewalls, mais il peut y avoir d'autres idées ...
Hors ligne
J'ai mis les infos demandées dans la signature.
Il me semble bien pourtant que c'était la version 1.9.3 que j'utilisais avant la mise à jour 2.17.8, mais Joeker à raison c'est assez long à s'afficher, c'est un peu le problème avec Wine.
@JoeKer, puisque tu as installé LM + Wine, je suppose que tu n'as plus besoin que je fasse un nouveau tcpdump comme tu me l'as demandé dans le post #287 ?
Dernière modification par Markco (11-01-2017 07:43:19)
Hors ligne
c'est depuis la 1.9.3 qu'il y a le test avec un ping, donc les versions antérieures devaient fonctionner.
Bon je vais voir ce qu'on peut faire.
Dernière modification par shdf (11-01-2017 07:48:54)
Hors ligne
Bonjour.
@shdf : Sympa de tenir compte des Linuxiens
Et de mon point de vue, oui, c'est avec l'arrivée du ping (et donc la version 1.9.3) que ce problème est apparu.
@Markco : Non, plus besoin de ton tcpdump, puisque j'ai pu reproduire le problème.
En augmentant le timeout du ping, je l'ai vu partir (et vu la réponse) dans une capture réseau, mais ça ne fonctionnait toujours pas mieux.
Et c'est vraiment très-très lent ...
J'essaierai d'avancer ce soir ...
Hors ligne
JoeKer a écrit:
@shdf : Sympa de tenir compte des Linuxiens
Oui effectivement, c'est fort sympathique mais une question se pose par rapport à ça.
Je n'ai absolument aucune idée du travail que ça ferait mais pourquoi ne pas envisager une version propre à Linux au lieu de passer par un exe et donc par Wine qui faut le reconnaitre est une solution un peu bancale pour faire fonctionner du win32 avec Linux.
Hors ligne
je ne sais programmer qu'en Autoit et php/sql.
des 2, il n'y a que php/sql qui soit portable mais ca signifie installer un serveur web+php+sql sur la machine...pas très pratique.
il faut trouver quelqu'un qui sache programmer dans un langage supporté par linux. Tu devrais t'y mettre !
Dernière modification par shdf (11-01-2017 19:49:09)
Hors ligne
Mouais je passe mon tour
Hors ligne
Bonsoir.
J'ai quelque chose pour remplacer le ping de la LiveBox : Un HTTP GET sur http://livebox/legal.html.
Ce n'est pas très propre, mais ça fonctionne, et ce n'est pas gourmand sur les échanges réseau (la page d'accueil télécharge tout le Javascript de la LB, c'est assez volumineux) ...
Le choix "Wine + AutoIT" est vraiment à proscrire (je ne sais pas comment tu as pu "vivre" avec ça, Markco ) :
Je ne fais même plus confiance à ce qui est fait :
- Erreurs dans les captures réseau (il me manque souvent le JSON de la demande (il apparaît dans une autre trame))
- Résultats parfois tronqués, pouvant amener à des "out of subscript", perte d'infos (je n'ai pas réussi à récupérer les infos Wi-Fi du 5GHz )
- Lenteur incroyable (il faut plus de 3 minutes pour afficher le résultat, soit environ 200 fois le temps d'exécution sous Windows).
Il y aurait plusieurs possibilités pour faire quelque chose de portable Linux/Windows/MACOS :
- Un module Firefox (c'est très portable, mais ça reposerait sur Javascript)
- Un programme en Python (avec ou sans interface graphique)
- Un programme en Java (avec ou sans interface graphique)
Je ne me sens pas les capacités, quelle que serait l'une de ces solutions.
Mais si quelqu'un veut s'y coller, la voie est ouverte (et le boulot fait par shdf ouvre très grand cette voie ).
Hors ligne
JoeKer a écrit:
Bonsoir.
J'ai quelque chose pour remplacer le ping de la LiveBox : Un HTTP GET sur http://livebox/legal.html.
Erreur 404 sur LB4 cette page n'existe pas.
Dernière modification par shdf (11-01-2017 22:10:36)
Hors ligne
Ah, évidemment, si on ne peut plus compter sur les aspects légaux
Ben c'est pas grave
Si tu as une erreur 404, c'est qu'un serveur Web t'a répondu (donc probablement celui de la LiveBox qui est censée se trouver à cette adresse), ce qui me paraît quand-même mieux qu'un ping, qui ne vérifie que l'adresse IP.
On peut donc très bien partir sur l'idée que "HTTP 404" ou "HTTP 200" est une bonne réponse ...
Maintenant, si on abandonne l'idée de faire fonctionner avec Wine, on peut également oublier cette idée ...
Hors ligne
ben pour moi il y a encore plus simple, c'est de supprimer le test. ca marchera tout aussi bien, et affichera une erreur si la box n'est pas a l'ip indiquée.
suffit de compiler une version "speciale" wine...
Sinon je me suis essayé au Javascript
<!DOCTYPE>
<html>
<head></head>
<body>
<script type="text/javascript">
var HTTP = new XMLHttpRequest();
var url = "http://192.168.1.1/ws";
var params = '{"service":"sah.Device.Information","method":"createContext","parameters":{"applicationName":"so_sdkut","username":"admin","password":"XXXXXXX"}}';
HTTP.open("POST", url, false);
HTTP.setRequestHeader("Content-Type", "application/x-sah-ws-4-call+json")
HTTP.setRequestHeader("Authorization", "X-Sah-Login")
HTTP.onreadystatechange = function() {//Call a function when the state changes.
if(HTTP.readyState == 4 && HTTP.status == 200) {
alert(HTTP.responseText);
}
}
HTTP.send(params);
</script>
</body>
</html>
Enregistrer ce bout de code dans un fichier test.html
Penser à remplacer XXXXXXX par votre mot de passe.
Ensuite pour permettre a JavaScript de pouvoir faire des requêtes externes il faut utiliser FIREFOX et installer un petit plugin, qu'il faudra activer:
https://addons.mozilla.org/fr/firefox/a … verywhere/
Chez moi j'obtiens une fentre d'alerte avec le contextID, donc la connexion est établie
EDIT:
dans internet explorer ca marche, il n'y a pas de "protection" donc pas de plugin nécessaire.
EDIT2:
ha ben du coup je peux même héberger la page : http://liveboxinfo.tk/connect.html
lol
Dernière modification par shdf (11-01-2017 23:13:42)
Hors ligne