Programmation de proxy en c++

zmbongo Messages postés 7 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 16 septembre 2011 - 12 sept. 2010 à 23:56
zmbongo Messages postés 7 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 16 septembre 2011 - 14 sept. 2010 à 09:11
salut à tous

je suis bloqué au niveau 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++ et puisse ensuite être traité par mon application (en vue de 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

j'ai un bon niveau en c++

4 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
13 sept. 2010 à 15:49
Salut,

Un proxy peut tourner sur n'importe quel port. Par convention le port 8080 est celui par défault.
Il faut donc que ton application écoute les connexions sur ce port et que tu configures ton navigateur pour se connecter via un proxy.

Ensuite rien de bien compliquer pour récuperer la requete et y effectuer les traitements que tu souhaites.

Regarde donc sur sourceforge tu trouveras un tas de projet de proxy avec le code source.

Shell
0
zmbongo Messages postés 7 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 16 septembre 2011
13 sept. 2010 à 16:40
merci de la réponse

j'en suis au niveau ou j'arrive à récupérer la requête du navigateur (sur le port 8080 évidemment)
- mais comment la rediriger personnellement vers le web?
- quel adresse dois utiliser ? (dois parser l'URL de la requête enfin d'en extraire l'adresse et utiliser 80 comme port ?)
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
14 sept. 2010 à 04:14
Voici le fonctionnemt de base d'un proxy :

Un proxy fait lui meme la requete vers le serveur ciblé.
Tu dois donc te créer un autre socket qui se charge de recuperer les pages web demandées par les clients.
Ensuite tu dois tout simplement les transmettre au client via le premier socket qui a reçu la demande de la part du navigateur.

Pour des questions de performances, un proxy mettra en cache les pages deja par les clients, et pourra aussi filtrer le contenu et les urls visités.

C'est comme ca que les sociétés procède pour controler les accès web que font leur employés... du genre bloquer YouTube :)


Shell
0
zmbongo Messages postés 7 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 16 septembre 2011
14 sept. 2010 à 09:11
merci à DeAtHCrAsH

ton post m'a beaucoup aidé
mon proxy est quasiment terminé

mais le filtrage ne fonctionne pas (ou en partie)
-comment détecter des vidéos dans les pages?
-et comment détecter la publicité pour la bloquer?

encore merci
0
Rejoignez-nous