Se connecter avec
S'enregistrer | Connectez-vous

Ecouter une connexion deja existante avec des sockets

Dernière réponse : dans Programmation

Bonjour, je vais essayer d'être clair ...
le plus simple est de prendre un exemple : imaginons qu'a partir d'une console sous linux, on tape "telnet smtp.free.fr 25", cela va creer une conexion vers smtp.free.fr sur le port 25.
Maintenant, j'aimerais bien creer un programme C qui puisse "ecouter" sur cette connexion, c'est a dire afficher toutes les reponses du serveur.
J'ai deja essayer de creer une socket qui se connecte sur ce serveur en meme temps que le lancement de telnet, le probleme est cette conexion semble "differente" de celle cree avec telnet.
Il ya t-il donc un moyen que deux processus puissent "partager" une connexion ?
Lassé par la pub ? Créez un compte

bien sûr que plusieurs connexion peuvent être accepté, par exemple sur smtp.free.fr sur le port 25.
imagine le nombre de personne qui bombarde de mail ce serveur. sans compté les spammer.

par contre, ce que tu ne peux pas, c'est écouter les autres connexions.
Heureusement...

Il faudrait plutot faire un genre d'attaque à la Man In the Middle. Mais la encore, il faudrait dire au gens de se connecter sur ton adresse, et toi tu rerouterais les mails.

D'ailleurs, c'est très mal ca.

Et si ton prog n'arrive pas à ce connecter sur le serveur mail de free (si tu es chez free), c'est ton prog qui merdouille.

Exprime un peu mieux ce que tu veux faire. Pour l'instant, ça fait un peu apprenti hacker, mais j'ai pas les moyen...

Oh non je ne veux hacker personne, puisque je veux ecouter ma propre connexion.
Voila exactement ce que je veux obtenir : prenons le cas ou je veuille envoyer un mail avec telnet, dans ce cas je commence par me connecté : telnet smtp.free.fr et je commence par envoyer "EHLO moi".
La, le serveur répond :
250-smtp5-g19.free.fr
250-PIPELINING
250-SIZE 100000000
250-VRFY
250-ETRN
250 8BITMIME
C'est la qu'intervient mon programme C, j'aimerais qu'il puisse ecouter sur cette connexin afin qu'il puisse afficher cette réponse.

je pense comprendre ce que tu veux faire.
tu veux, à partir de ton programme, logger les réponses du serveur.
En gros, il faut que ton programme agisse comme un proxy.

C'est à dire :
client mail <-----> ton prog <--------> smtp.free.fr:25

en gros, il faut que tu définisse une socket serveur, sur le port 25 par exemple, que tu configure ton/tes client mail sur cette socket, genre localhost à la place de smtp.free.fr.

Ensuite, ton programme envoit tout ce qu'il recoit sur le serveur smtp.free.fr, recupère les réponses, les envoit dans un fichier ET au client mail.

Après, pour l'implémentation, je peux plus trop t'aider. ça fait super longtemps que j'ai pas toucher au C.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde