Modification de paquets réseau

Signaler
Messages postés
52
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
27 avril 2010
-
Messages postés
52
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
27 avril 2010
-
Salut à tous,

Je cherche à rediriger certains paquets émis ou reçus sur une interface réseau vers une autre interface ; peu importe en réalité la finalité de mon projet, ce que je cherche à faire c'est capturer les paquets passant par cette interface et les modifier.

Je pense que le moyen le plus évident est de capturer le paquet, le droper, puis le renvoyer en changeant son adresse de destination.
Je viens demander un peu d'aide sur la façon de faire, parce que je pensais avoir trouvé une piste mais je ne sais pas si elle est valable.

J'ai cherché dans les sources des sniffers ; j'en ai testé, j'ai compris le fonctionnement. Je pensais donc pouvoir faire ma tambouille avec les SOCK_RAW. Or, quand je regarde le code de firewalls que j'ai pu avoir ici ou sur codeproject, je vois que souvent l'API Packet Filtering est utilisée. Or là, je comprends un peu moins.

Ma question est donc simple : est-il possible d'utiliser les sockets RAW pour modifier ou droper des paquets ou dois-je utiliser une autre solution ?
J'ai aussi vu que je pouvais utiliser la librairie WinPcap, mais ça m'intéresse moins parce qu'apparemment on ne peut pas filtrer les connexions PPP, or j'aimerais notamment faire mes petites opérations sur une connexion 3G.

Si vous avez besoin de plus d'infos, n'hésitez pas à me demander !

Merci de me conseiller.

2 réponses

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
Wahou !!! ton truc semble balaise.

Tu a parlé de libpcap, as-tu testé ethereal ou son clone WireShark pour voir si ces softs font ce que tu demandes. Ils sont open source, donc tu pourrais jeter un oeil sur leur code.
Messages postés
52
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
27 avril 2010

Effectivement c'est pas évident :)
J'utilise WireShark mais je sais pas si on peut modifier des trames ; en tous les cas je devrai moi-même faire cette modif parce qu'elle intervient dans un procédé faisant partie d'un ensemble de programmes que je développe.
Concrètement je veux rediriger les paquets passant par la connexion 3g (entre autres) vers une autre interface.

J'ai commencé par chercher des fonctions de routage avancées dans Windows, mais j'ai rien trouvé. C'est pour ça que je pense que je vais devoir me taper ça moi-même :)

C'est très intéressant cela dit, mais pour l'instant je ramouille vraiment :/