Bonjour !

Je programme actuellement un petit outil pour me connecter à un serveur en telnet (je n'ai pas le choix du protocole) pour mon travail.

J'ai utilisé un tuto trouvé sur un autre site pour réaliser mon code (j'ai remplacé les adresses et logins par des étoiles pour des raisons évidentes ) !
Actuellement je bloque dès l'authentification, voici mon code:

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
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;
}
Et le résultat:

Nom : 352545.jpg
Affichages : 268
Taille : 35,3 Ko