begin process at 2010 02 10 01:04:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > CLIENT-SERVEUR : DONNEES CRYPTEES XOR

CLIENT-SERVEUR : DONNEES CRYPTEES XOR


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Niveau :Initié Date de création :24/06/2003 Date de mise à jour :24/06/2003 15:30:15 Vu :3 687

Auteur : Krox68

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

le serveur envoie un message crypté avec XOR, la clé est le n°de port
le cliet recois les données et les décrypte avec la clé (le port)

serveur arguments : PORT MESSAGE
client arguments : HOTE PORT

activez le serveur avec un message et faite telnet [127.0.0.1] [n°port] : il recoit les données...cryptées

le cryptage n'est pa super puissant mai c juste pour donné l'idée

Source

  • //#######################SERVEUR#########################"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <sys/types.h>
  • #include <sys/socket.h>
  • #include <netinet/in.h>
  • #include <netdb.h>
  • int main(int argv,char*argc[])
  • {
  • system("clear");
  • int sock,nsock, cle = atoi(argc[1]), n;
  • struct sockaddr_in sin;
  • char msg[255], buffer[255];
  • strcpy(msg, argc[2]);
  • for(n = 0; n < (strlen(msg) + 1); n++)
  • {
  • buffer[n] = msg[n] ^ cle;
  • }
  • sin.sin_family = AF_INET;
  • sin.sin_addr.s_addr = INADDR_ANY;
  • sin.sin_port = htons(atoi(argc[1]));
  • bzero(&(sin.sin_zero),8);
  • sock = socket(AF_INET,SOCK_STREAM,0);
  • printf(" port %s en écoute...\n", argc[1]);
  • bind(sock, (struct sockaddr *)&sin, sizeof(struct sockaddr));
  • listen(sock,50);
  • while(1)
  • {
  • int sin_size = sizeof(struct sockaddr_in);
  • nsock = accept(sock,(struct sockaddr *)&sin,&sin_size);
  • printf(" connection de %s sur le port %s\n",inet_ntoa(sin.sin_addr),argc[1]);
  • send(nsock,buffer,sizeof(buffer),0);
  • }
  • close(nsock);
  • return 0;
  • }
  • //#######################CLIENT##############################
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <sys/types.h>
  • #include <sys/socket.h>
  • #include <netinet/in.h>
  • #include <netdb.h>
  • int main(int argv,char*argc[])
  • {
  • system("clear");
  • char buffer[255], mot[255];
  • int sock, cle = atoi(argc[2]), n;
  • struct sockaddr_in sin;
  • sin.sin_family = AF_INET;
  • sin.sin_addr.s_addr = inet_addr(argc[1]);
  • sin.sin_port = htons(atoi(argc[2]));
  • bzero(&(sin.sin_zero),8);
  • sock = socket(AF_INET,SOCK_STREAM,0);
  • printf(" tentative de connection sur %s / %s...\n", argc[1], argc[2]);
  • connect(sock,(struct sockaddr*)&sin,sizeof(struct sockaddr));
  • printf(" connecté %s / %s\n", argc[1], argc[2]);
  • recv(sock,buffer,sizeof(buffer),0);
  • for(n = 0; n < (strlen(buffer) + 1); n++)
  • {
  • mot[n] = buffer[n] ^ cle;
  • }
  • printf(" buffer: %s\n", mot);
  • close(sock);
  • return 0;
  • }
//#######################SERVEUR#########################"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int main(int argv,char*argc[])
{
 system("clear");

 int sock,nsock, cle = atoi(argc[1]), n;
 struct sockaddr_in sin;

 char msg[255], buffer[255];
 strcpy(msg, argc[2]);
  for(n = 0; n < (strlen(msg) + 1); n++)
  {
   buffer[n] = msg[n] ^ cle;
  }

 sin.sin_family      = AF_INET;
 sin.sin_addr.s_addr = INADDR_ANY;
 sin.sin_port        = htons(atoi(argc[1]));
 bzero(&(sin.sin_zero),8);

 sock = socket(AF_INET,SOCK_STREAM,0);

 printf(" port %s en écoute...\n", argc[1]);
 bind(sock, (struct sockaddr *)&sin, sizeof(struct sockaddr));
 listen(sock,50);

  while(1)
  {
   int sin_size = sizeof(struct sockaddr_in);
   nsock = accept(sock,(struct sockaddr *)&sin,&sin_size);
   printf("  connection de %s sur le port %s\n",inet_ntoa(sin.sin_addr),argc[1]);
   send(nsock,buffer,sizeof(buffer),0);
  }

 close(nsock);
 return 0;
}






//#######################CLIENT##############################
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int main(int argv,char*argc[])
{
 system("clear");

 char buffer[255], mot[255];
 int sock, cle = atoi(argc[2]), n;
 struct sockaddr_in sin;

 sin.sin_family      = AF_INET;
 sin.sin_addr.s_addr = inet_addr(argc[1]);
 sin.sin_port        = htons(atoi(argc[2]));
 bzero(&(sin.sin_zero),8);

 sock = socket(AF_INET,SOCK_STREAM,0);

 printf(" tentative de connection sur %s / %s...\n", argc[1], argc[2]);
 connect(sock,(struct sockaddr*)&sin,sizeof(struct sockaddr));
 printf("  connecté %s / %s\n", argc[1], argc[2]);

 recv(sock,buffer,sizeof(buffer),0);
    for(n = 0; n < (strlen(buffer) + 1); n++)
    {
      mot[n] = buffer[n] ^ cle;
    }
 printf("  buffer: %s\n", mot);

 close(sock);
 return 0;
}

 Conclusion

gcc serveur.c -o serveur
gcc client.c -o client

serveur 1245 coucou!
client 127.0.0.1 1245


 Sources du même auteur

LA LIB POUR FENETRE WIN32
SCANNER DE SERVICES
NET : UTILITAIRE LINUX SOCKETS
Source avec Zip UTILITAIRE RESEAU
Source avec Zip SCANNER DE PORTS OUVERTS (COMMENTÉ)

 Sources de la même categorie

Source avec Zip TIM_RESEAU, CLASSES POUR RESEAU COMPLET par williamallas
Source avec Zip INTERNET IP FINDER TROUVER VOS ADRESSE IP (INTERNET) par xmustapha
Source avec Zip CLIENT/SERVEUR AVEC TSOCKETSERVER & TCLIENTSOCKET par xmustapha
Source avec Zip REMOTE SHELL GEN par ganjarasta
PROXY IRC SIMPLE (WINDOWS/WINSOCK) par _michel

Commentaires et avis

Commentaire de surfeurnet le 25/06/2003 17:26:23

avec des commentaires se serait pas mieux, sinon c clair
@++

Commentaire de berimbo le 30/06/2003 15:00:33

a quoi correspondent les methodes sin_port, sin_addr et sin_family
(désolé, je débute)

Commentaire de Narcissus le 10/07/2003 18:19:43

salut, j'ai besoin des fichiers d'en tête que tu as utilisé pour réaliser ce programme.
merci

Commentaire de Krox68 le 10/07/2003 19:34:24

ba fo avoir linux et gcc

Commentaire de GFACTION le 04/11/2003 22:18:31

Ben pour windows, prends winsock2.h

Commentaire de BlackGoddess le 13/11/2003 20:02:47

a quoi correspondent les methodes sin_port, sin_addr et sin_family
(désolé, je débute)

=&gt; son programme est écrit en C, qui ne contient pas d'objets, donc pas de méthodes.

struct sockaddr_in sin; =&gt; sockaddr_in est une structure, c'est un groupement de variables (comme les Type ... End Type en vb)
sin_port, sin_addr et sin_family sont des variables de ce groupement.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales