Creation de proxy en c++

zmbongo -  
 zmbongo -
Bonjour,

salut à tous

j'ai fait face un problème dans l'évolution de mon projet (création d'un proxy)

-Comment faire en sorte que les requêtes du navigateur soit récupéré dans une socket (que j'ai créée) en C++

-comment les renvoyer au navigateur ?

-et quels sont les port à utiliser ?(pour la réception et l'envoie?)

(sachant les requêtes du navigateur sont des requêtes HTTP)
merci à tous

bon niveau en c++ donc pas de souci au niveau des mots techniques
A voir également:

4 réponses

Luc
 
Je dirais qu'en réseau, le principe c'est

que le demandeur envoi sur le port 80 avec un port aléatoire XXXXX
Le suivant garde en mémoire le port XXXXX (associé au nouveau port d'envoi), envoi la demande sur le port 80 demandé avec un port aléatoire YYYYY, la réponse obtenu sur son port YYYYY redirige la réponse sur le port XXXXX en mémoire avec la correspondance
0
zmbongo
 
merci de ta réponse mais c un peu vague
pourrai tu donner un exemple un peu plus concret

merci encore
0
luc
 
La PC X.X.X.X veut se connecter au site www.pasdespam.com. Elle envoie donc un paquet avec comme adresse source la sienne, X.X.X.X, et comme port source un port quelconque supérieur à 1024, exemple 6969. Le paquet arrive au routeur, il remplace donc l'adresse IP source par la sienne Y.Y.Y.Y. Le routeur fait également la PAT en remplaçant le port TCP/UDP source 6969 par un de son choix, 22222 par exemple. Il garde ces informations de correspondance dans une table. Le paquet arrive a www.pasdespam.com qui le renvoie a Y.Y.Y.Y, notre routeur. Le paquet arrive au routeur, il voit que l'adresse destination est lui-même, il regarde donc le port destination TCP/UDP qui est 22222. Il va regarder dans la table pour avoir la correspondance. Il sait qu'il faut envoyer ce paquet à X.X.X.X, modifiant le port destination 22222 en 6969 qui est le port sur lequel X.X.X.X a initialisé la connexion.
0
zmbongo
 
merci bien
j'ai compris le principe même si j'ai pas de routeur (je veux créer un proxy local)

j'arrive à récupérer la requête du navigateur
mais autre problème:

- comment diriger ma requête (qui est celle du navigateur) vers le web?
- quelle adresse dois je utiliser ? (dois je parser l'url de la requete afin d'en extraire l'adresse du site?
0