diff --git a/loc-bts/code/ap/ap.h b/loc-bts/code/ap/ap.h index f80763e..f9e2cec 100644 --- a/loc-bts/code/ap/ap.h +++ b/loc-bts/code/ap/ap.h @@ -21,8 +21,13 @@ #define ERR_BAD_USAGE 3 // Mauvais appel au programme +/* Arguments du programme */ +#define ARGC 4 +enum {ARGV_AGGREG_IP=1, ARGV_RTAP_IFACE, ARGV_WIFI_IFACE} ; + + /* En-têtes des fonctions */ -int capture(char *capture_iface, BOOL print_values) ; +int capture(char *capture_iface, char *aggregated_ip, BOOL print_values) ; void read_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *packet, int sockfd, struct sockaddr_in *server, BOOL print_values) ; void get_mac_addr(char *eth, unsigned char mac_bytes[6]) ; void print_usage(char *prog) ; diff --git a/loc-bts/code/ap/apd.c b/loc-bts/code/ap/apd.c index 2c01452..e5dd597 100644 --- a/loc-bts/code/ap/apd.c +++ b/loc-bts/code/ap/apd.c @@ -12,10 +12,10 @@ unsigned char mac[6] ; // Adresse MAC de l'AP int main(int argc, char *argv[]) { struct sigaction action ; // Structure de mise en place des gestionnaires de signaux - int ret ; - char *mac_string ; + char *mac_string ; // MAC de l'AP sous forme de chaîne + int ret ; // Code de retour du programme - if (argc != 3) + if (argc != ARGC) { print_usage(argv[0]) ; return ERR_BAD_USAGE ; @@ -30,12 +30,12 @@ int main(int argc, char *argv[]) action.sa_handler = sigterm_handler ; sigaction(SIGTERM, &action, NULL) ; - get_mac_addr(argv[2], mac) ; + get_mac_addr(argv[ARGV_WIFI_IFACE], mac) ; mac_string = mac_bytes_to_string(mac) ; printf("Ma mac est : %s\n", mac_string) ; free(mac_string) ; - ret = capture(argv[1], TRUE) ; + ret = capture(argv[ARGV_RTAP_IFACE], argv[ARGV_AGGREG_IP], TRUE) ; printf("%s : fin.\n", argv[0]) ; return ret ; @@ -46,9 +46,9 @@ int main(int argc, char *argv[]) /* Capture des paquets en utilisant l'interface "capture_iface" pendant "capture_time" mili-secondes. Les informations concernant les mobiles effectuant des requêtes sont conservées dans la liste "known_mobiles". - Les données capturées sont envoyées au serveur d'aggrégation à travers la socket UDP "socket". + Les données capturées sont envoyées au serveur d'aggrégation dont l'IP est "aggregated_ip" à travers la socket UDP "socket". */ -int capture(char *capture_iface, BOOL print_values) +int capture(char *capture_iface, char *aggregated_ip, BOOL print_values) { pcap_t *handle ; // Descripteur de capture de paquets char errbuf[PCAP_ERRBUF_SIZE] ;// Message d'erreur @@ -72,7 +72,7 @@ int capture(char *capture_iface, BOOL print_values) } /* Ouverture de la socket UDP vers le serveur d'aggrégation */ - sockfd = create_udp_sending_socket("127.0.0.1", AGGREGATE_DEFAULT_PORT, &server, &client); + sockfd = create_udp_sending_socket(aggregated_ip, AGGREGATE_DEFAULT_PORT, &server, &client); if (sockfd < 0) { perror("Erreur ! Impossible de créer la socket vers le serveur d'aggrégation \n"); @@ -304,7 +304,8 @@ void get_mac_addr(char *eth, unsigned char mac_bytes[6]) void print_usage(char *prog) { printf("Usage :\n\ -\t%s rtap_iface wifi_iface\n\ +\t%s ip_agrégation rtap_iface wifi_iface\n\ +- ip_agrégation est l'adresse IP du serveur d'agrégation.\n\ - rtap_iface est l'interface de capture radiotap.\n\ - wifi_iface est l'interface physique correspondant à rtap_iface.\n\ ", prog) ; diff --git a/loc-bts/code/client/locclient.c b/loc-bts/code/client/locclient.c index 08ae5f2..9701f97 100644 --- a/loc-bts/code/client/locclient.c +++ b/loc-bts/code/client/locclient.c @@ -27,7 +27,7 @@ void print_usage(char *prog) printf("Usage :\n\ \t- Demande de localisation : %s [iface] ip_serveur\n\ \t- Requête de calibration : %s [iface] ip_serveur direction x y z\n\ -iface est une chaîne désignant le nom de interface réseau à partir de laquelle envoyer la demande (par exemple \"eth2\"). Si elle n'est pas spécifiée, le choix de l'interface source est automatique.\n\ +iface est une chaîne désignant le nom de interface réseau à partir de laquelle envoyer la demande (par exemple \"eth2\"). Si elle n'est pas spécifiée, le choix de l'interface source est automatique. Vous devez être root pour utiliser cette option.\n\ ", prog, prog) ; }