Dans mon université, un certain réseau WLAN est ouvert aux étudiants et aux employés. Pour l'utiliser, cependant, il faut d'abord se connecter via un site Web en utilisant votre propre nom d'utilisateur et mot de passe. Cela peut également être fait en soumettant une requête http avec les bonnes données POST sur le même site Web. J'ai déjà un script shell qui fait cela, mais je suis toujours curieux de savoir s'il serait possible d'avoir ce script exécuté automatiquement chaque fois que mon ordinateur se connecte à l'université WLAN. Est-il possible de le faire d'une manière semi-facile?Commande d'exécution en cas de connexion à un réseau sans fil spécifique
Répondre
Vous pouvez écrire un script simple qui exécute "iwconfig" et traite sa sortie. Si le nom du réseau est trouvé (avec Regex par exemple), vous envoyez une requête. Je ne pense pas que vous pouvez déclencher le script lorsque vous êtes connecté au réseau, mais vous pouvez l'ajouter à CRON, donc il est exécuté par exemple toutes les dix secondes.
est Heres un document que vous trouverez peut-être utile: https://help.ubuntu.com/community/CronHowto
Je sais que NetworkManager
(qui est utilisé dans Ubuntu) présente une interface DBUS - Je soupçonne qu'il ya un événement pour le réseau connecté/déconnecté que vous pouvez utiliser . Essayez de vérifier la spécification NetworkManager DBUS Interface.
Si vous n'avez jamais travaillé avec DBUS auparavant, n'ayez crainte, il existe des liaisons pour pratiquement toutes les langues. Je suis sûr qu'il y a même un client CLI que vous pouvez invoquer à partir d'un script shell. This blog entry montre comment détecter une nouvelle connexion à partir de NetworkManager avec Python - ce pourrait être un bon point de départ
Cela ressemble à amusant! Je pense que je vais essayer. – nici
J'essaie de résoudre le même problème, avez-vous déjà eu de la chance? Je voulais éviter dbus et "pensé" que je pourrais sortir avec un script symétrique dans /etc/network/if.up.d/, mais cela semble avoir cessé de fonctionner. – Till
[Cette réponse] (http://askubuntu.com/a/14139) sur AskUbuntu semble pouvoir résoudre votre problème. – dasup