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.

#1 Le 08/11/2012, à 20:25

mgio

script bash avec wget pour connexion automatique à un portail captif

Bonsoir à tous

En tant qu’élève ingénieur à l'insa de lyon je suis amené à me connecter à travers un portail captif.
J'ai donc décidé d'automatiser ma connexion à l'aide d'un script bash.
J'avais d'abord retenu l'utilisation de la commande curl. Mais malheureusement à l’exécution  je me retrouvais avec "curl : command not found" malgré que tout soit installé (sous Ubuntu 12.10). J'ai donc abandonné et je me suis tourné vers wget.
Pour l'instant mon script est le suivant:

#!/bin/bash

IP_ADDR=$(ifconfig $IFACE | grep inet | cut -d ":" -f2 | cut -d " " -f1)

wget --post-data 'user=monlogin&password=monpsw&fqdn=insa-lyon.fr' http://securelogin.arubanetworks.com/upload/custom/CP_FILAIRE/index.htm?cmd=login&mac=monadressemac&ip=$IP_ADR&essid= &url=http://google.fr > /dev/null

exit 0

Ce qui est affiché dans le terminal est:

 --2012-11-08 20:15:46--  http://securelogin.arubanetworks.com/upload/custom/CP_FILAIRE/index.htm?cmd=login
Résolution de securelogin.arubanetworks.com (securelogin.arubanetworks.com)... 134.214.182.13
Connexion vers securelogin.arubanetworks.com (securelogin.arubanetworks.com)|134.214.182.13|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 1838 (1,8K) [text/html]
Sauvegarde en : «index.htm?cmd=login.6»

100%[=====================================>] 1 838       --.-K/s   ds 0s      

2012-11-08 20:15:46 (95,8 MB/s) - «index.htm?cmd=login» sauvegardé [1838/1838]

Mes questions: -pourquoi y a t'il un téléchargement?
                         -pourquoi après que le téléchargement soit fini suis-je obligé de faire Crtl+C pour arrêter le script?
                         -comment "automatiser" l'action de cliquer sur le bouton Envoyer du portail?

Le code de la page:

<td class="inputText" style="padding-left: 5px; padding-top: 3px; padding-right: 2px;">
      <form action="/cgi-bin/login" method="post" target="_top" autocomplete="off"> <strong>Login:</strong><br>

        <input name="user" accesskey="u" class="inputText" size="12" value="" type="text">
        <div id="fqdnbox" style=""> <label for="fqdn" accesskey="f">Domaine</label>
        <select name="fqdn">
        <option value="" selected="selected">invit&eacute;s</option>
        <option value="insa-lyon.fr">insa-lyon.fr</option>
        <option value="univ-lyon1.fr">univ-lyon1.fr</option>
        </select>

        </div>

        <br>

Mot de passe:<br>

        <input class="inputText" name="password" accesskey="p" size="12" value="" type="password">
        <div align="center"> <br>

        <input name="submit" class="submit" value="Envoyer" type="submit"> <br>

        <br>

        </div>

      </form>

      </td>

Merci d'avance pour toute aide.

Dernière modification par mgio (Le 08/11/2012, à 20:35)


HP 6830s
Ubuntu 12.10

Hors ligne

#2 Le 08/11/2012, à 20:51

bishop.sad.clown

Re : script bash avec wget pour connexion automatique à un portail captif

Salut,

-pourquoi y a t'il un téléchargement?

extrait des man pages de wget:

DESCRIPTION
...GNU Wget est un programme non interactif de téléchargement de fichiers depuis le Web. ..

...

pourquoi après que le téléchargement soit fini suis-je obligé de faire Crtl+C pour arrêter le script?

Il y a de fortes chances ( mais ce n'est pas certain ), que cela vienne des caractères "&" présent dans l'url... Faudrait voir en les protégeant avec un caractère d'"échappement ou d'englober l'url dans des guillemets...


-comment "automatiser" l'action de cliquer sur le bouton Envoyer du portail?

Je ne sais pas... =· / Mais peu de chance que ceci soit réalisable via wget... Mais je ne m'aventurerais pas plus loin sur ce point, je ne connais pas wget à 100% pour être totalement affirmatif... Mais bon... j'dois pas être bien loin quand même... 

@++


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#3 Le 08/11/2012, à 21:23

mgio

Re : script bash avec wget pour connexion automatique à un portail captif

=Il y a de fortes chances ( mais ce n'est pas certain ), que cela vienne des caractères "&" présent dans l'url.

En effet cela résous mon premier problème merci smile
Je continue à chercher pour la connexion.
Toute aide serai bienvenue.
merci d'avance...


HP 6830s
Ubuntu 12.10

Hors ligne

#4 Le 08/11/2012, à 23:40

mgio

Re : script bash avec wget pour connexion automatique à un portail captif

J'ai changé deux trois trucs mais ça ne marche toujours pas sad
J'avais fais quelque erreurs de noob (et je suppose qu'il y en a encore puisque ça ne marche toujours pas) mais cette version est plus pertinente.

#!/bin/bash
# version2

IP=`ifconfig eth0 | grep "inet adr" | awk -F:  '{print $2}' | awk '{print $1}'`

URLA="http://securelogin.arubanetworks.com/upload/custom/CP_FILAIRE/index.htm?cmd=login&mac=00:22:64:59:9d:14&ip="
URLB="&essid="
URL=$URLA$IP$URLB

echo $URL

wget 'user=monlogin&password=monpassword&fqdn=insa-lyon.fr&submit=Envoyer' $URL >/dev/null

exit 0

Je ne vois pas comment faire
Missa bloqué
un petit coup de main ne serait pas de refus...


HP 6830s
Ubuntu 12.10

Hors ligne

#5 Le 09/11/2012, à 00:13

xavier4811

Re : script bash avec wget pour connexion automatique à un portail captif

moi non plus mais

IP=`ifconfig eth0 | awk -F":| +"  '/inet adr/ {print $4}'`

ça me plait davantage

et avec /usr/bin/curl ? command not found aussi ?

Hors ligne

#6 Le 09/11/2012, à 13:34

mgio

Re : script bash avec wget pour connexion automatique à un portail captif

et avec /usr/bin/curl ? command not found aussi ?

Avec /usr/bin/curl :

/usr/bin/curl: Aucun fichier ou dossier de ce type

J'ai voulu installer :

 sudo apt-get install curl
[sudo] password for mattias: 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Aucune version du paquet curl n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet « curl » n'a pas de version susceptible d'être installée

C'est peut être du à ubuntu 12.10 non?
C'est pour ça que je m'était rabattu sur wget même si curl me semblait plus adapté.
Quand au paquet php5-curl, d'aprés la logithéque:

Non trouvé: Il n'y a pas de paquet logiciel appelé « php5-curl » dans vos sources de logiciels actuelles

curl n'a pas l'air de pouvoir être utilisé sous ubuntu 12.10 bizarre non?
Une idée?

Dernière modification par mgio (Le 09/11/2012, à 13:35)


HP 6830s
Ubuntu 12.10

Hors ligne

#7 Le 09/11/2012, à 21:01

xavier4811

Re : script bash avec wget pour connexion automatique à un portail captif

Au besoin tu peux le téléchrger ici :
packages.ubuntu.com/quantal/curl

Hors ligne

#8 Le 10/11/2012, à 13:42

mgio

Re : script bash avec wget pour connexion automatique à un portail captif

C'est bon j'ai réglé le soucis de curl, j'avais un petit (gros) problème dans mes sources de logiciels.
Cependant je n'arrive toujours pas à faire marcher le script, j'ai maintenant:

#!/bin/bash
# version3

IP=`ifconfig eth0 | awk -F":| +"  '/inet adr/ {print $4}'`

URLA="http://securelogin.arubanetworks.com/upload/custom/CP_FILAIRE/index.htm?cmd=login&mac=00:22:64:59:9d:14&ip="
URLB="&essid= "
URL=$URLA$IP$URLB


/usr/bin/curl -d user=monlogin -d password=monmotdepasse -d fqdn=insa-lyon.fr ((-d submit=Envoyer -d action="/cgi-bin/login")) $URL > /dev/null


exit 0

C'est de la partie entre (( )) dont je ne suis pas sûr, je pense que c'est de là que vient le problème, non? J'ai essayé un peu tout, sans résultat...


HP 6830s
Ubuntu 12.10

Hors ligne