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
| #include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#include <string.h>
int main(int argc, char *argv[])
{
WSADATA WSAData;
int erreur = WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKADDR_IN sin;
SOCKET sock;
HOSTENT *hote;
IN_ADDR adresse;
char buffer[1024];
if (!erreur)
{
hote = gethostbyname("monsite.free.fr");
memcpy(&adresse, hote->h_addr, hote->h_length);
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr = adresse;
sin.sin_family = AF_INET;
sin.sin_port = htons(21);
if (connect(sock, (SOCKADDR *)&sin, sizeof(sin)) != SOCKET_ERROR)
{
printf("Connexion à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
strcpy(buffer, "USER user\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "PASS pass\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "CWD /\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "PWD\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "TYPE A\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "PASV\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
strcpy(buffer, "STOR blague.txt\r\n");
send(sock, buffer, strlen(buffer), 0);
recv(sock, buffer, sizeof(buffer), 0);
printf("\n%s", buffer);
}
}
closesocket(sock);
WSACleanup();
printf("\n\nTermine");
getchar();
return 0;
} |
Partager