Petit programme

Petit programme - Divers - Programmation

Marsh Posté le 07-07-2004 à 11:42:07    

Bonjour à tous !!!
 
J'aimerai réaliser un programme capable d'écouter ce qui se passe sur réseau pour récupérer les trames à déstination d'une certaine ip, puis les renvoyer vers un autre destinatair. Par exemple toutes les trames allant vers 10.2.3.5:21 sont intercéptées et renvoyées vers 192.168.12.3:21...
 
C'est pas pour pirater je ne sais quoi, mais de résoudre un problème du à une limitation d'un logiciel....
 
J'aimerai juste que vous me conseillez un langage de programmation qui se prète bien à ce genre d'exercice.... (sachant que j'aime pas java...)
 
Merci d'avance !!!


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 07-07-2004 à 11:42:07   

Reply

Marsh Posté le 07-07-2004 à 11:52:51    

c/c++ avec la librairie http://winpcap.polito.it/


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 07-07-2004 à 11:55:07    

Une simple modif de la table de routage ne suffirait-elle pas ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 07-07-2004 à 12:07:17    

Bein en fait je sais pas:
 
J'ai un soft qui sait envoyer des info à des cibles (définie par @ip et port). Le problème est que la définition par port ne marche pas. Je peut faire ce que je veux et ce pu**in de soft balance toujours sur le même port. Donc un objet distant n'est finalement défini que par une ip.
J'ai alors une configuration comme suit dans le logiciel:
obj1  202.15.87.13
obj2  220.79.16.40
....
Bref une dixain d'objets à différent endrois sur le net. Jusque la tout va bien. Aujourd hui je dois pouvoir atteindre ces objets sachant que dans un cas il y en à 4 dans le même LAN distant. Comme je ne peux que configurer l'adresse IP (pas de port, ni de nom), je n'arrive pas à différencier les 4 objets du même lan, vu qu'ils sont derrière la même @ip....
 
Je pensai donc configurer le soft avec des adresses bidons, et avoir un petit prog qui intercepte les trame, et les envois vers le LAN distant, mais en modifiant le port... A l'arrivée, il suffit de mapper les ports pour joindre l'objet souhaité... Voila, alors si tu à une idée par rapport à le table de routage, je suis preneur.
 
Et merci pour le lien , ca à l'air faisable.


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 07-07-2004 à 13:08:12    

Sur quel OS il tourne ton pu**in de soft ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 07-07-2004 à 13:17:57    

xp


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 07-07-2004 à 13:55:38    

Bon, désolé, la gestion de la table de routage ne permet pas ce genre de chose...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 07-07-2004 à 15:40:58    

Ok merci quand même !
 
Sinon, quelqu'un a t-il déjà utilisé wincap ? Avec quel compilateur ?
Histoire que je ne me complique pas d'avantage la tâche.... :(  
 
Merci tout le monde pour tout truc/conseil/avis !


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 08-07-2004 à 11:13:17    

Alors, personne connai ? dommage...


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 08-07-2004 à 12:42:29    

Faut croire que non :D
 
C'est pas grâve, tu va nous pondre un joli petit utilitaire qui permet de faire ce genre de routage.
 
rmq, il n'est pas possible (en tout cas j'ai pas trouvé...), avec les outils standard d'xp de faire un routage sur ip et port. Mais si ta machine passe par un routeur sur lequel tu as la main, c'est faisable à ce niveau là.
Si tu n'as pas de routeur, tu peux aussi recycler un vieux PC pour le configurer en router sous linux et faire les conversions à ce niveaux.
 
Sinon, je pense que http://www.boutell.com/rinetd/ est ce que tu cherches :D
Je suis en train d'essayer...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 08-07-2004 à 12:42:29   

Reply

Marsh Posté le 08-07-2004 à 12:51:31    

Arrrhhh !!! Merci beaucoup, ça devrai marcher dans cetain cas. Malheuresement mon soft communique avec les client par FTP. Or  

Citation :

This makes it practical to run TCP services on machines inside an IP masquerading firewall. rinetd does not redirect FTP, because FTP requires more than one socket.


Merci beaucoup, mais il semble je sois déstiné à cracher des lignes de codes... snif!


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 08-07-2004 à 12:54:35    

Sinon j'ai une gateway (pc 2 cartes réseaux RedHat 8) qui est disponible. Tu dis que c'est jouable au niveau des tables de routages ? avec des routes static je suppose ?


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 08-07-2004 à 13:39:43    

J'ai testé rinetd, et ça marche très bien.
 
rinetd.exe -c rinetd.conf
 
avec rinetd.conf :
logfile rinetd.log
127.0.0.3 80 212.43.221.154 80
 
Avec ça http://127.0.0.3 m'envoie sur le forum :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 08-07-2004 à 15:58:53    

Tu l'as fait marcher sous quel OS ?   :??:


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 08-07-2004 à 16:19:27    

Windows XP pro


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2004 à 14:53:49    

Alors ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2004 à 15:48:02    

Sinon, j'ai fini par trouver un utilitaire de windows qui à l'air de permettre tout et nimporte quoi en matière de config réseaux. C'est netsh.
Reste à apprendre à s'en servir car c'est un outil en ligne de commande, et les options se comptent sur les doigts d'un putain de paquet de mains :D
 
Genre :  
 
netsh routing ip nat add portmapping INTERFACE PROTOCOL EXTERNAL_IP EXTRENAL_PORT INTERNAL_IP INTERNAL_PORT
 
Mais avant il faut faire :
netsh routing ip nat install
 
Et un tas d'autres trucs comme ajouter des plages d'adresses, des mapping...
 
J'ai pas encore réussi, mais si tu vois ce post, c'est que j'ai pas encore tout pété :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2004 à 16:19:24    

url ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 09-07-2004 à 16:33:17    

De quoi ?
- netsh : il partie de windows 2000/XP
- rinetd : voir un peu plus haut :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2004 à 16:34:22    

ok :jap:


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 09-07-2004 à 16:35:25    

Pour le moment, j'ai juste réussi avec rinetd qui est simple d'utilisation parce-que explicitement fait pour ca et rien que ca.
netsh, c'est de la grosse cavalerie qui fait tout du sol au plafond. Mais c'est un outils de l'os...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2004 à 16:40:57    

Si tu trouves une bonne doc sur netsh qui expliquerai la démarche pour ce genre de routing, je suis preneur.
En lisant les docs officielles, j'ai cru remarquer que mes connaissances réseaux sont finalement beaucoup plus limitées que ce que je pensais :D
Ou alors les docs micro$oft sont nulles...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 13-07-2004 à 09:18:10    

ok ok... mais pour l'instant je vais déjà essyer de faire marcher rinetd... Le problème c'est que j'ai plusieurs projet en cours, désolé de mettre du temps pour répondre. Merci beaucoup de tes conseilles !!!  :)  :)  :)


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 13-07-2004 à 11:00:11    

Comment tu l'as fait fonctionner rinetd sous XP ???   :??:  :??:


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 13-07-2004 à 11:35:03    

Ok, il à l'air de fonctionner. Mais je pense qu'il y a une petite incompréhension. A priori ce logiciel prend les trames émises PAR une ip et les renvoient VERS une autre ip. OR pour résoudre mon problème, il faudrait que j'arrive à prendre les trames allant VERS une certaine ip pour les rediriger vers une autre... Surtout dites moi si je me trompe... J'ai commencé à regardé la doc micro$oft pour netsh... C'est vrai que ça à pas l'air simple....


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 13-07-2004 à 13:15:15    

Ben le test que j'ai fait, c'est bien ce que tu veux non :
 
rinetd.conf :
127.0.0.3 1234 212.43.221.154 80  
 
Je lance rinetd et dans un navigateur, si je fait http://127.0.0.3:1234 j'arrive sur le forum.
 
C'est donc bien une requête qui au départ est dirigée vers 127.0.0.3 qui est capturée et envoyée vers 212.43.221.154.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 13-07-2004 à 13:23:05    

Ca d'accord, j'ai réussi à le faire fonctionner. Mais quand je met le régle 192.168.0.124 21 192.168.0.100 21 (personne n'a l'adresse 192.168.0.124 sur mon lan, mais le soft merdique est sensé essayer d'y envoyer des info), je ne peu pas lancer rinetd, il me renvoi le message d'erreur "rinetd couldn't bind 192.168.0.124"... En fait il faut mettre une adresse existant. 127.0.0.3 doit être accépté par ce que c localhost. Si je remplace 124 par 101 (un adresse existante dans le lan) il accèpte... Donc apriori il faut lui spécifier des sources qui existe... Or comme je voulai en simuler...

Reply

Marsh Posté le 13-07-2004 à 13:36:14    

Pour simuler des adresses, utilises les 127.0.0.x, t'es tranquille avec ça.
 
Exemple :
 
127.0.0.21 21 192.168.0.100 21
127.0.0.22 21 192.168.0.100 22
127.0.0.23 21 192.168.0.100 23
127.0.0.24 21 192.168.0.100 24
 
C'est pas un truc comme ça que tu voulais ?
 
Une seule destination mais des ports différents, et des adresses différentes pour ton soft, mais avec le port 21 parce qu'il ne peux pas en utiliser d'autre.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 13-07-2004 à 22:41:33    

Merci ! J'ai pas tout à fait validé la soluce, mais apriori ca marche. Malin le coup des 127.0.0.X... Merci à toi !!!   :)  :)  :)

Reply

Marsh Posté le 13-07-2004 à 23:43:18    

Remercies Boutell :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 15-07-2004 à 12:55:52    

Bon bein, ils ne mentent pas dans leur doc, ça marche pas pour le ftp... snif... En tout cas merci à toi mara's mad ! Tu fais quoi dans la vie pour être calé comme ça ?


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 15-07-2004 à 14:34:25    

Par contre, t'as raison: netsh c'est pas gagné...  :cry:


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le 15-07-2004 à 16:22:57    

sub_khaine a écrit :

Bon bein, ils ne mentent pas dans leur doc, ça marche pas pour le ftp... snif... En tout cas merci à toi mara's mad ! Tu fais quoi dans la vie pour être calé comme ça ?


Heu rien, j'suis juste spécialiste en tout :D
 
En fait je fait de l'info depuis que la micro-informatique existe.
 
Pour le moment, je développe une appli web dans une grosse SSI. Mais demain qui sais, je serai peut-être installateur réseau ou dépanneur de machine à café ...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 19-07-2004 à 11:47:39    

Y'a de l'avenir dans les machines à café  !!! (plus que dans la redirection de ftp apriori :)  )...
 
Moi je suis dans l'informatique, mais juste pour le boulot, c'est pas réellement une passion.
 
Toujours est-il que, pour le boulot, se serait bien pratique que je trouve une solution à mon problème (mon chef serai content d'économiser une grosse licence logiciel)  :pt1cable:  
Comme dit, si je tombe sur une bonne doc netsh, je te fais signe... Mais je ne suis pas sur que cette utilitair fasse ce que je cherche... je continu les recherches..... c'est lourd   :sleep:


---------------
----Grrüüüüüttttt----
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed