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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| #include <iostream>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
typedef int socklen_t;
using namespace std;
int main(void)
{
WSADATA WSAData;
int erreur = WSAStartup(MAKEWORD(2,2), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
if(!erreur)
{
// Création de la socket
sock = socket(AF_INET, SOCK_STREAM, 0);
// Configuration de la connexion
sin.sin_addr.s_addr = inet_addr("**.**.***.***");
sin.sin_family = AF_INET;
sin.sin_port = htons(23);
cout << "Connexion en cours...";
Sleep(2000);
cout << endl;
// Si le client arrive à se connecter
if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) == 0)
{
cout << "Connexion a " << inet_ntoa(sin.sin_addr) << " sur le port " << htons(sin.sin_port) << " reussi." << endl;
Sleep(1500);
char buffer[1500];
cout << "Authentification en cours..." << endl;
char* login = "*******%lf";
int login_2 = send(sock, login, sizeof(login), 0);
char* mdp = "******** %lf";
int mdp_2 = send(sock, mdp, sizeof(mdp), 0);
if(recv(sock, buffer, sizeof(buffer), 0) != SOCKET_ERROR)
{
cout << endl << buffer << endl;
Sleep(1000);
}
if (login_2 != SOCKET_ERROR)
{
cout << endl << endl << login << endl;
Sleep(1500);
if (send(sock, mdp, sizeof(mdp), 0) != SOCKET_ERROR)
{
cout << endl << mdp << endl;
Sleep(1500);
cout << "Authentification reussi." << endl;
}
else
{
cout << "Echec." << endl;
system("pause");
EXIT_FAILURE;
}
}
else
{
cout << "Echec." << endl;
system("pause");
EXIT_FAILURE;
}
Sleep(1500);
if(recv(sock, buffer, sizeof(buffer), 0) != SOCKET_ERROR)
{
cout << endl << buffer << endl;
Sleep(1000);
}
}
else
{
cout << "Impossible de se connecter" << endl;
}
// On ferme la socket précédemment ouverte
closesocket(sock);
WSACleanup();
}
system("pause");
return EXIT_SUCCESS;
} |
Partager