Commit a629f0c77e5ba15b1430321aaa649cd127a7c756
1 parent
5227cd0e
Fin.
Showing
9 changed files
with
31 additions
and
21 deletions
Show diff stats
Network/sender.c
@@ -20,7 +20,7 @@ int initializeSocketUDP(char* service, char* adresse) | @@ -20,7 +20,7 @@ int initializeSocketUDP(char* service, char* adresse) | ||
20 | precisions.ai_socktype = SOCK_DGRAM; | 20 | precisions.ai_socktype = SOCK_DGRAM; |
21 | 21 | ||
22 | /*"172.26.145.35"*/ | 22 | /*"172.26.145.35"*/ |
23 | - if(getaddrinfo("192.168.1.20", service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); } | 23 | + if(getaddrinfo(adresse, service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); } |
24 | 24 | ||
25 | for(struct addrinfo* i=origine; i!=NULL && resultat==NULL; i=i->ai_next) | 25 | for(struct addrinfo* i=origine; i!=NULL && resultat==NULL; i=i->ai_next) |
26 | { | 26 | { |
@@ -42,9 +42,6 @@ int initializeSocketUDP(char* service, char* adresse) | @@ -42,9 +42,6 @@ int initializeSocketUDP(char* service, char* adresse) | ||
42 | if(setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0) { fprintf(stderr, "Erreur setsockopt\n"); return(-1); } | 42 | if(setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0) { fprintf(stderr, "Erreur setsockopt\n"); return(-1); } |
43 | 43 | ||
44 | 44 | ||
45 | - if(bind(sock_id, resultat->ai_addr, resultat->ai_addrlen)) { fprintf(stderr, "Erreur bind\n"); return(-1); } | ||
46 | - | ||
47 | - | ||
48 | freeaddrinfo(origine); | 45 | freeaddrinfo(origine); |
49 | return sock_id; | 46 | return sock_id; |
50 | } | 47 | } |
Network/sniffer.c
@@ -7,16 +7,14 @@ | @@ -7,16 +7,14 @@ | ||
7 | #include <time.h> | 7 | #include <time.h> |
8 | #include "libnet.h" | 8 | #include "libnet.h" |
9 | 9 | ||
10 | - | 10 | +#define ADRESSE "172.26.145.205" |
11 | #define SZ_DEV_PCAP 10 | 11 | #define SZ_DEV_PCAP 10 |
12 | 12 | ||
13 | 13 | ||
14 | // Fonction lors de la detection d'un paquet | 14 | // Fonction lors de la detection d'un paquet |
15 | void arp_detect() | 15 | void arp_detect() |
16 | { | 16 | { |
17 | - static int num=0; | ||
18 | - num++; | ||
19 | - printf("Voici le paquet arp numéro : %d\n", num); | 17 | + printf("Paquet ARP\n"); |
20 | } | 18 | } |
21 | 19 | ||
22 | 20 | ||
@@ -30,11 +28,11 @@ void reponseSonde(time_t last_time, time_t seuil_temps) | @@ -30,11 +28,11 @@ void reponseSonde(time_t last_time, time_t seuil_temps) | ||
30 | 28 | ||
31 | if (ecart > 2*seuil_temps) | 29 | if (ecart > 2*seuil_temps) |
32 | { | 30 | { |
33 | - sendUDPUnicast("192.168.1.205", msg0, 2020); | 31 | + sendUDPUnicast(ADRESSE, msg0, 2020); |
34 | } | 32 | } |
35 | else if(ecart > seuil_temps) | 33 | else if(ecart > seuil_temps) |
36 | { | 34 | { |
37 | - sendUDPUnicast("192.168.1.205", msg1, 2020); | 35 | + sendUDPUnicast(ADRESSE, msg1, 2020); |
38 | } | 36 | } |
39 | else | 37 | else |
40 | { | 38 | { |
Network/tcpserver.c
@@ -85,7 +85,7 @@ int boucleServeur(int socket, void(* fctConnex)(int)) | @@ -85,7 +85,7 @@ int boucleServeur(int socket, void(* fctConnex)(int)) | ||
85 | { | 85 | { |
86 | printf("-- boucle --\n"); | 86 | printf("-- boucle --\n"); |
87 | if((sock_dial=accept(socket, NULL, NULL)) < 0){ fprintf(stderr, "Error accept dialogue\n"); return -1; } | 87 | if((sock_dial=accept(socket, NULL, NULL)) < 0){ fprintf(stderr, "Error accept dialogue\n"); return -1; } |
88 | - printf("Dialogue ACCEPTED\n"); | 88 | + printf("- Dialogue accepte -\n"); |
89 | 89 | ||
90 | arg_sock_interf.socket=sock_dial; | 90 | arg_sock_interf.socket=sock_dial; |
91 | 91 |
README.md
1 | -Wesh canne à pêche. | 1 | +FILTRAGE : |
2 | + | ||
3 | +Instructions pour la compilation des fichiers: | ||
4 | +Dans la racine, faire un make clean afin de supprimer les fichiers compilés. | ||
5 | +Lancer un make à la racine, afin de manière récursive executer le make dans tous les sous-dossiers. | ||
6 | +Une fois cette compilation effectuée, deux fichiers exécutables seront crées dans le répertoire bin ainsi que les librairies dans le dossier libs. | ||
7 | + | ||
8 | +Instructions pour uploader dans l'interface tangible: | ||
9 | +Se déplacer dans le répetoire Tangible, faire un make clean puis un make upload. | ||
10 | + | ||
11 | +Instructions au lancement de la sonde et du serveur web: | ||
12 | +Se déplacer dans le répertoire bin et exécuter: | ||
13 | +sudo ./serveurTCP -p <port> | ||
14 | +sudo ./sonde -d <interface> | ||
15 | + | ||
16 | +Pour visualiser les états des interfaces , ouvrir un navigateur web et entrez soit l'adresse de localhost, soit votre adresse IP, suivie de :<port>. | ||
17 | + | ||
18 | +Voilà. | ||
19 | + | ||
20 | +(L'interface répond à la commande SETSLEEP et peut être mise au choix en état de veille (LED BLEUE), sinon elle est éveilée (LED ROUGE) et clignotera plus ou moins vite (3 vitesse différentes)) |
Threads/threadSocket.c
@@ -62,7 +62,6 @@ int httpReponse(FILE* sockdial_stream, Arg_Thread* argument) | @@ -62,7 +62,6 @@ int httpReponse(FILE* sockdial_stream, Arg_Thread* argument) | ||
62 | 62 | ||
63 | int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[20]) | 63 | int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[20]) |
64 | { | 64 | { |
65 | - printf("Interface : %x %x - Adresse : %s - Taille : %ld\n", packet[0], packet[1], adresse, strlen(packet)); | ||
66 | 65 | ||
67 | // On lock le mutex car on rentre dans la section critique (modification de la structure interfaces) | 66 | // On lock le mutex car on rentre dans la section critique (modification de la structure interfaces) |
68 | 67 | ||
@@ -98,7 +97,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ | @@ -98,7 +97,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ | ||
98 | 97 | ||
99 | else if ((((unsigned char)packet[0])>>5) == 0x05) | 98 | else if ((((unsigned char)packet[0])>>5) == 0x05) |
100 | { | 99 | { |
101 | - printf("L'interface a correctement répondu (REPONSE GETCOMMAND)\n"); | 100 | + printf("L'interface a correctement répondu\n"); |
102 | if(argument->interfaces[i]==NULL) | 101 | if(argument->interfaces[i]==NULL) |
103 | { | 102 | { |
104 | argument->interfaces[i]=malloc(sizeof(struct interface_info)); | 103 | argument->interfaces[i]=malloc(sizeof(struct interface_info)); |
@@ -108,7 +107,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ | @@ -108,7 +107,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ | ||
108 | uint16_t tmp = (unsigned char)packet[0] & 0x1F; //Récupération du pourcentage | 107 | uint16_t tmp = (unsigned char)packet[0] & 0x1F; //Récupération du pourcentage |
109 | tmp = tmp << 8; | 108 | tmp = tmp << 8; |
110 | tmp += (unsigned char)packet[1]; | 109 | tmp += (unsigned char)packet[1]; |
111 | - argument->interfaces[i]->commande = (int)(tmp*0.0122); | 110 | + argument->interfaces[i]->commande = (int)((tmp*100)/8192); |
112 | } | 111 | } |
113 | else | 112 | else |
114 | { // L'interface n a pas correctement répondu | 113 | { // L'interface n a pas correctement répondu |
@@ -128,7 +127,7 @@ void* reponseConnexion(void* arg_sock_interf) | @@ -128,7 +127,7 @@ void* reponseConnexion(void* arg_sock_interf) | ||
128 | Arg_Thread *argument=(Arg_Thread*)(arg_sock_interf); | 127 | Arg_Thread *argument=(Arg_Thread*)(arg_sock_interf); |
129 | int sock=argument->socket; | 128 | int sock=argument->socket; |
130 | 129 | ||
131 | - printf("Connected\n"); // Affiche le fait que qqn soit connecté | 130 | + printf("Connecte\n"); // Affiche le fait que qqn soit connecté |
132 | 131 | ||
133 | FILE* sockdial_stream = fdopen(sock, "a+"); | 132 | FILE* sockdial_stream = fdopen(sock, "a+"); |
134 | if (sockdial_stream == NULL) | 133 | if (sockdial_stream == NULL) |
@@ -157,10 +156,7 @@ void* reponseConnexion(void* arg_sock_interf) | @@ -157,10 +156,7 @@ void* reponseConnexion(void* arg_sock_interf) | ||
157 | } | 156 | } |
158 | } | 157 | } |
159 | 158 | ||
160 | - | ||
161 | - printf("Sock : %d // Stream : %p\n", sock, sockdial_stream); | ||
162 | - | ||
163 | - printf("Fin de la connexion\n"); | 159 | + printf("Fin de la connexion\n"); |
164 | 160 | ||
165 | fclose(sockdial_stream); | 161 | fclose(sockdial_stream); |
166 | 162 | ||
@@ -172,7 +168,7 @@ void* reponseConnexion(void* arg_sock_interf) | @@ -172,7 +168,7 @@ void* reponseConnexion(void* arg_sock_interf) | ||
172 | int lanceThread(void(* fonction) (void *), void* arg, int size) | 168 | int lanceThread(void(* fonction) (void *), void* arg, int size) |
173 | { | 169 | { |
174 | pthread_t thr_id; | 170 | pthread_t thr_id; |
175 | - printf("%d \n",size); | 171 | + printf("%d\n",size); |
176 | if(pthread_create(&thr_id, NULL, (void*)fonction, arg )!=0) { fprintf(stderr, "Le thread n'a pas pu être créé.\n"); return -1; } | 172 | if(pthread_create(&thr_id, NULL, (void*)fonction, arg )!=0) { fprintf(stderr, "Le thread n'a pas pu être créé.\n"); return -1; } |
177 | 173 | ||
178 | pthread_detach(thr_id); | 174 | pthread_detach(thr_id); |
bin/serverTCP
No preview for this file type
bin/sonde
No preview for this file type
libs/libnet.a
No preview for this file type
libs/libthrd.a
No preview for this file type