Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 15/01/2009, à 12:08

Totor

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Effectivement, at a une précision à la minute et non à la seconde


-- Lucid Lynx --

Hors ligne

#52 Le 16/01/2009, à 13:55

Chep

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

bonjour ,)


comment on peut faire tourner un script en boucle? le dernier marche bien mais fini par s'arreter quand il réussi la reconnection


quand je le lance en etant deja identifier il m'ecrit  Deja connecté! toute les 10 secondes
Si je met un mauvais mot de passe, il me met connection failed toute les 10 secondes
Quand il reussi l'identification, il s'arrete.

J'aimerais faire ca.

debut
verifie google
si       google=google
         attend 10 seconde
         retourne au debut

si       google=hotspot
         identification
                si reussi retourne au debut
                si raté re identification jusqua reussi
fin= retourne au debut si tu arrive a la fin pour une raison ou une autre

Comment on ecrit retourne au debut dans un script???? il m'ecoute plus comme avant mon pc, ca doit etre la routine qui s'installe ,)

Et puis aussi j'enleverais bien les echo une fois la periode de test terminé. lancer ce scirpt avec rc.local et en mettre un autre toute les heures ou 2 dans cron du genre

ps -ef | grep autoconnect.sh | grep -v 'grep autoconnect.sh'
If  ya rien
then sh autoconnect.sh &
else exit
fi

Quelle est la commande pour 'ya rien' ,) ?

Dernière modification par Chep (Le 16/01/2009, à 14:27)

Hors ligne

#53 Le 16/01/2009, à 15:48

Chep

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Je m'autorepond pour memoire et pour ceux que ca interesse

J'ai donc creer un repertoire appelé hotspot dans home
dedant j'ai deux scripts :  autoconnect.sh et check.sh

autoconnect.sh

#!/bin/bash

url="https://hotspot.neuf.fr/nb4_crypt.php"
okmatch="licitations"
login="user"
password="pass"
con=1;
while [ $con -ne 0 ]
do
    challenge=`curl -s -k -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
    if [ -f $challenge ]
    then
        echo "Déjà connecté !";
        sleep 10;
    else
   
        response=`curl -s -k -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
        final=`curl -s -k -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`

        if [ ! -z "${final}" ];then
            echo "connected";
            date;            
        else
            echo "connection failed"
        fi
    fi
done

danx rc.local on inscrit donc

#!/bin/sh -e
sh /home/hotspot/autoconnect.sh &
exit 0

Normalement, celui ci ne s'arrete jamais mais au cas ou check est la

check.sh

#!/bin/bash
if [ "$(ps -ef | grep autoconnect |grep -v 'grep autoconnect')" = "" ] ;then
echo "script arreté, je relance"
sh /home/hotspot/autoconnect.sh & ;
else echo "ca tourne"
fi

Ce dernier programmé dans le cron toute les heures

sudo crontab -e

5 * * * * sh /home/hotspot/check.sh

ctrl+x > o  entrer

bienvenue dans le monde magique du mmorpg qui ne coupe plus

Hors ligne

#54 Le 16/01/2009, à 19:57

Dr4gOoN

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

C'est particulièrement immonde, mais si tu es content du résultat, tant mieux.

Pour ce qui est d'un script "propre" j'aimerais bien que tu m'explique clairement ce que tu veux, car j'ai rien compris a tes explications big_smile

Hors ligne

#55 Le 17/01/2009, à 02:09

Chep

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

hihi oui je suis assez content du resutat.

ce que je veux faire c'est simplement le dernier que tu a proposé mais qui tourne en boucle sans arret
Et une securité qui verifie que l'identification automatique fonctionne bien.


Je sais pas comment faire tourner un script en boucle autrement qu'avec des conditions (while) alors j'ai simplement supprimer le changement d'argument con=0 comme ca il ne sort jamais de la boucle while.
Et au cas ou il s'arreterais, l'autre le relance.

Si tu peux m'indiquer ce que tu trouve pas propre dans cette facon de faire, je pourrais corriger et apprendre par la meme.

A mon avis, la seule chose vraiment moche la dedans c'est le coup de while mais j'ai bricolé comme j'ai pu. Depuis que ca tourne, pas encore vu une seule fois le portail captif alors qu'avec le script en cron c'etais regulier.

Hors ligne

#56 Le 19/01/2009, à 13:13

Chep

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Bon, je me suis un peut creusé les meninges.

Au lieu de ne jamais avoir l'argument qui termine la boucle, il tourne tant qu'il est connecté au point d'acces.
En cas de perte du signal wifi par contre, il s'arrete.

Est ce que c'est mieux?

#!/bin/bash

url="https://hotspot.neuf.fr/nb4_crypt.php"
okmatch="licitations"
login="user"
password="pass"
getip() {
        IP=`/sbin/ifconfig wlan0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

while true;
do
    challenge=`curl -s -k -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`
    if [ -f $challenge ]
    then
        echo "online";
        sleep 10;
    else
   
        response=`curl -s -k -L -d "username=${login}&password=${password}&cond=on&accessType=neuf&nb4=https://hotspot.neuf.fr/nb4_crypt.php&challenge=${challenge}" ${url}|grep response=|sed -r 's/.*response=([0-9a-z]+).*/\1/'`
        final=`curl -s -k -L "http://192.168.2.1:3990/logon?username=ssowifi.neuf.fr/${login}&response=${response}&uamip=192.168.2.1&userurl=http%3A%2F%2Fwww.fon.com%2Ffr%2Flanding%2Ffoneroneufbox%3Bfon%3B%3B&lang=fr&ARCHI"|grep ${okmatch}`

        if [ ! -z "${final}" ];then
            echo "connected";
            date;            
        else
            echo "connection failed"
        fi
    fi
done

J'apprend en meme temps, je voudrais bien qu'on me dise si ca progresse ou pas.

Maintenant ca ne le fait pas repartir si je perd le signal et le retrouve.
Par contre,

Ce script la, se lancant des que le lien entre la machine et le hotspot neuf wifi ce fait (ou a defaut dans le cron)

#!/bin/bash

getip() {
        IP=`/sbin/ifconfig wlan0 | fgrep "inet ad" | cut -f2 -d":" | cut -f1 -d" "`
}

        getip
        if ! [ "$IP" ]; then
                echo "reconnection"
		sh /home/hotspot/autoconnect.sh &
              
        fi

Vous en pensez quoi? Je sais bien que ca interesse plus personne pcq bougie a fait plus simple et efficace mais ca me permet de progresser en meme temps et de mieux comprendre.
merci ,)

Dernière modification par Chep (Le 19/01/2009, à 13:15)

Hors ligne

#57 Le 19/01/2009, à 13:53

Nowis03

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Chep, pourrais-tu me contacter à cet adresse mail STP : X-Nowis-X@live.fr

#58 Le 23/02/2009, à 17:23

mhjers

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Bonjour à tous,

Je viens de lire toute la discussion car ce script m'intéresse.
En effet je comptais le mettre en place sur une machine indépendante avec 2 cartes wifi, une pour se connecter au hotspot neuf et une autre pour diffuser le wifi dans l'appartement.
En lisant la discussion, il est apparue qu'un routeur wrt54g pourrait faire l'affaire et donc consommer beaucoup moins que mon vieux PC qui fait de plus beaucoup de bruit.

Alors Chep, peux tu me dire si tu as réussis à flasher le routeur avec openwrt et faire fonctionner le tout comme tu le souhaitais ?

Merci de votre réponse, même si je vois que le post est inactif depuis plus d'un mois

Hors ligne

#59 Le 24/02/2009, à 10:40

freechelmi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Je l'ai fait sur un WRT et une fonera, Néanmoins , ça ne fonctionne pas 24/7 mais je penses que ça viens de Neuf.

Hors ligne

#60 Le 24/02/2009, à 18:50

mhjers

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Merci freechelmi de ta réponse,

Je crois que je vais me lancer alors.

Je vais prendre un peu de temps pour choisir le matériel d'occasion pas trop chère mais qui fonctionne avec openwrt. Que me conseiller vous ?

Merci

Hors ligne

#61 Le 24/02/2009, à 20:51

freechelmi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

DIR-300 , Fonera , WRT54GL , et sinon en plus cher , des produits Buffalo.

Hors ligne

#62 Le 24/02/2009, à 23:46

Dr4gOoN

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

WRT54G "suffit" (par rapport au WRT54GL)

Hors ligne

#64 Le 27/02/2009, à 15:52

Lotphi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Je tiens à signaler que vos wget ou curl dans vos scripts sont facilement sniffables une fois envoyés.
l'ideal c'est que le password part dans les airs sous format hash.
pas de hotspot près de chez-moi pour faire des tests mais il me semble que le mécanisme ressemble à ça:
avant la soumission du formulaire, du code javascript calcule un hash, remplace le password par ce hash puis envoyer le formulaire.

Je peux porter le script shell sous windows (avec autoit).

#65 Le 27/02/2009, à 16:01

freechelmi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

La connection sur le portail n'est elle pas en https ?

Hors ligne

#66 Le 27/02/2009, à 16:11

lotphi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

freechelmi a écrit :

La connection sur le portail n'est elle pas en https ?

J'ai pas de hotspot a coté pour tester. Mais même en https, il existe bien des soft qui permettent de décoder la trame

#67 Le 27/02/2009, à 16:21

Lotphi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

si qqun peut nous envoyer le log de Live HTTP header (extension firefox) en utilisant juste un faux login et password ça permetteras de confirmer ou non le fait que le password est hashé avant le submit du formulaire

#68 Le 27/02/2009, à 17:00

freechelmi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

lotphi a écrit :
freechelmi a écrit :

La connection sur le portail n'est elle pas en https ?

J'ai pas de hotspot a coté pour tester. Mais même en https, il existe bien des soft qui permettent de décoder la trame

J'aimerais comprendre ce qui te fait penser ça. Pour décoder une trame https, ne te faut il pas la clé privée liée au certificat du site ?

Hors ligne

#69 Le 27/02/2009, à 18:54

Lotphi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

en "principe" c'est pas violable mais dans vos script vous utiliser l'option -k (qui veut dire ignorer les erreur de certificat) donc facile d'usurper la cible...
je viens de poster une bookmarklet http://forum.ubuntu-fr.org/viewtopic.php?id=297796

#70 Le 05/03/2009, à 22:25

mhjers

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Sur les suggestions de freechelmi, j'ai fais l'acquisition d'un d-link dir-300 et je l'ai donc flasher avec openwrt.

Maintenant, j'ai un peu plus de mal avec la configuration du routeur sur la partie du reseau.
En effet je veux que le routeur soit client de Neuf Wifi, qu'il s'y connecte avec le script (le script marche sur mon pc), et qu'il me rediffuse le reseau dans mon appart avec un autre ssid. je crois que c'est ce que tu as fais freechelmi, alors peux tu me donner la configuration adapté, voir tes fichiers wireless et network.

merci pour votre aide

Hors ligne

#71 Le 05/04/2009, à 00:44

Daddo

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Bonsoir à tous.
J'arrive longtemps après la bataille mais tant pis smile

Lotphi a écrit :

si qqun peut nous envoyer le log de Live HTTP header (extension firefox) en utilisant juste un faux login et password ça permetteras de confirmer ou non le fait que le password est hashé avant le submit du formulaire

Je n'ai pas réussi à obtenir toutes les en-têtes avec Live HTTP Headers (j'obtiens juste la dernière), mais je pense que ceci, (que j'obtiens sous FF avec Outils > en-têtes en direct) est suffisant pour infirmer ta supposition :

GET /viewtopic.php?id=262159&p=1
GET /fcgi-bin/comptage_wreport.fcgi?WRP_ID=320744&WRP_SECTION=homeneufwifi&WRP_SUBSECTION=homeneufwifi_pc&WRP_CHANNEL=pc&WRP_CONTENT=fr
GET /0.4/query?id=148fd387b458351f7ecd9282117f4fe6a37e2786&nonce=2b05e9af47a9e3cd0b98ecca4d71e4361fe5b65c&target=xhrm5huw6EwEiwA8%2BSBb&lang=fr-FR&version=firefox-20081111&auth=42a5f3edfec66659441dca656b831b7af8056076
[b]POST /nb4_crypt.php lang=fr&username=0123456789&password=pass[/b]&ARCHI=&accessType=&userurl=http%3A%2F%2Fforum.ubuntu-fr.org%2Fviewtopic.php%3Fid%3D262159%26p%3D1%3B%3Bfr%3B3%3Bhttp%3A%2F%2Fforum.ubuntu-fr.org%2Fviewtopic.php%3Fid%3D262159%26p%3D1&nb4=https%3A%2F%2Fhotspot.neuf.fr%2Fnb4_crypt.php&challenge=2de526f380b7707718f0c9bf9c5517f8
GET /logon?username=ssowifi.neuf.fr/0123456789&response=750ffccfd35ceb55f4a3be8f90d86b53&uamip=192.168.2.1&userurl=http%3A%2F%2Fforum.ubuntu-fr.org%2Fviewtopic.php%3Fid%3D262159%26p%3D1%3Bneuf%3Bfr%3B3%3Bhttp%3A%2F%2Fforum.ubuntu-fr.org%2Fviewtopic.php%3Fid%3D262159%26p%3D1
GET /fcgi-bin/comptage_wreport.fcgi?WRP_ID=320744&WRP_SECTION=cnxneufwifi&WRP_SUBSECTION=neuf_ko_pc&WRP_CHANNEL=pc&WRP_CONTENT=fr

Dernière modification par Daddo (Le 05/04/2009, à 00:45)

Hors ligne

#72 Le 03/05/2009, à 23:45

freechelmi

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Est ce que certains n'ont pas des problèmes avec le script initial depuis quelques semaines ?

Hors ligne

#73 Le 04/05/2009, à 10:13

Dr4gOoN

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

Pas a ma connaissance, je viens de l'utiliser, il y a environs 20minutes smile

Hors ligne

#74 Le 10/05/2009, à 19:14

colas31

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

BOnjour,

Merci a vous pour ce super script.

J'aurai une question je suis obliger de laisser tourner Cygwin ? y a t'il la possiblité de la faire tourner en fond de tache sans avoir la fenetre ouverte?

Merci

#75 Le 17/06/2009, à 10:32

Zbahoui

Re : [Résolu] (Re)Connexion au HotSpot Neuf en shell script.

plop
Je suis en train d'essayer de faire le même script en python, ce qui permettrait de le porter sur d'autres OS, et j'ai un petit probleme:

challenge=`curl -s -k -L http://www.google.com|grep name=\"challenge|sed -r 's/.*value=\"([0-9a-z]+)\".*/\1/'`

je vois pas les valeurs que peut prendre challenge ... j'ai pas trop compris le grep name=...
Si quelqu'un pouvait m'expliquer ...

Merci d'avance ^^

Hors ligne