Salut à tous !
Je cherche à développer une appli sous Windows qui me permettrait de rediriger des paquets en provenance ou à destination d'un site distant vers une autre destination (disons vers un proxy).
J'étudie la question depuis un petit moment et j'ai cru comprendre que j'avais plusieurs moyens de parvenir à mes fins, moyens plus ou moins compliqués et plus ou moins efficaces.
Ce que j'aimerais utiliser, ce sont les sockets RAW. J'ai téléchargé des sources de sniffers, j'ai bien compris le fonctionnement. J'ai lu de la doc, j'ai aussi compris comment fabriquer mes propres paquets.
Je sais donc intercepter des paquets et en envoyer. Mais je ne sais pas combiner les deux, c'est-à-dire faire fonctionner le modèle suivant :
1/ j'intercepte un paquet (une socket par protocole, TCP, UDP, ICMP..) venant de A et destiné à B.
2/ je redirige le paquet vers C.
3/ C fait sa tambouille et redirige vers B une fois le contenu scanné (en gros).
L'étape 1, j'ai ce qu'il faut, l'étape 3 aussi. Pour l'étape 2, mon idée d'origine était de router le paquet, mais je sais pas comment faire ; j'ai pensé l'encapsuler dans un nouveau paquet IP mais je ne sais pas comment gérer ça. Je me suis donc dit qu'il devait être possible de droper le paquet et d'en recréer un en ne modifiant que l'adresse de destination.
Est-ce possible et si oui comment ? Question subsidiaire, si c'est possible, n'est-ce pas trop bourrin ?
N'hésitez pas à donner vos conseils, idées, suggestions, critiques sur ma méthode, je patauge un peu.
Merci à vous !
Partager