Bonjour,
Tout d'abord je voudrais savoir si vous connaissez des libs bien documentée avec des tutoriels par exemples pour la programmation wifi sur linux.
Il s'agit de pouvoir executer les actions de base comme detecter les interfaces reseaux, lancer un scan des reseaux disponibles, se connecter a un reseaux, trouver le mode de cryptage du reseaux (WEP WPA) bref tout ce que peut faire le network manager.... J'ai essayé de me plonger dans son code mais impossible ....
idée --> passer par des appels (system()) pour executer des ligne de commander relative a wireless-tools (avec ceci j'arrive a établir une connection mais uniquement en WEP, il ne supporte pas WPA et il ne permet pas de trouver le mode de cryptage des reseaux.
j'ai essayé d'autre libs (iwlib, dbus , etc ) mais sans grand succes.
Alors je me suis orienté vers wpa_supplicant... mais la je ne sais pas du tout comment m'y prendre. Voici un petit bout de code qui ne semble pas fonctionner :
Code :
- FILE* file = fopen("err.txt","w" );
- struct wpa_global *wpa_glob = NULL;
- struct wpa_params params;
- wpa_glob = wpa_supplicant_init( ¶ms );
- if(wpa_glob == NULL)
- printf("failure init \n" );
- wpa_supplicant_run( wpa_glob );
- struct wpa_supplicant *supp;
- struct wpa_interface *iface = (struct wpa_interface *)malloc(sizeof(struct wpa_interface));
- iface -> ifname = "wlan0";
- iface -> driver = NULL;
- supp = wpa_supplicant_add_iface(wpa_glob, iface);
- wpa_supplicant_req_scan(supp, 0, 0);
- if(wpa_supplicant_get_scan_results(supp) == -1)fprintf(file,"error scan" );
- fprintf(file,"scan result : %d\n",supp -> scan_results -> freq);
|
j'obtient en sortie un
et rien d'autre ...
Je demande donc assistance dans cette lib ou une autre lib permettant de faire tout ce dont j'ai envie.
Merci