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

4 réponses

  1. 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
  2. zmbongo
     
    merci de ta réponse mais c un peu vague
    pourrai tu donner un exemple un peu plus concret

    merci encore
    0
  3. 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
  4. 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