#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é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
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
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