[C -> Linux]réémission de paquets

réémission de paquets [C -> Linux] - C++ - Programmation

Marsh Posté le 20-09-2002 à 12:00:31    

Salut à tous,
 
j'ai quelques soucis avec un élément du réseau du boulot... Je n'en dirai pas plus, c confidentiel!!!
 
Le problème :
C'est un système point-multipoint, mais les clients ne peuvent se voir!
 
La solution, un pc gateway avec un soft maison qui réémet les paquets d'un certain réseau destinataire (genre 192.168.0.0/255.255.255.0) sur la même interface d'où provient le paquet.
 
Donc j'imagine carte réseau en mode promiscuous, et analyse de la destination et réémission du paquet si nécessaire.
Cela doit fonctionner en tcp et udp.
 
Quelqu'un peut-il m'aider? Quelles fonctions sont à utiliser?
J'ai très peu programmé en C et encore moins sous Linux!
 
Merci

Reply

Marsh Posté le 20-09-2002 à 12:00:31   

Reply

Marsh Posté le 20-09-2002 à 16:40:47    

salut,
 
pour mettre la carte réseau en mode promiscious, tu dois je crois utiliser la structure mfreq (ou qchose qui ressemble)
Tu verras la progra réseau sous Linux en C est passionnante.
 
Je te conseille le site de sécurité informatique www.ioc.fr.st, dans le 4eme magazine ils expliquent en détail.
Ce n'est pas mon site mais je le trouve bien (c'est un ancien site de h4><oRs je crois)
 
++


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
Reply

Marsh Posté le 20-09-2002 à 16:50:53    

luma a écrit a écrit :

Salut à tous,
 
j'ai quelques soucis avec un élément du réseau du boulot... Je n'en dirai pas plus, c confidentiel!!!
 
Le problème :
C'est un système point-multipoint, mais les clients ne peuvent se voir!
 
La solution, un pc gateway avec un soft maison qui réémet les paquets d'un certain réseau destinataire (genre 192.168.0.0/255.255.255.0) sur la même interface d'où provient le paquet.
 
Donc j'imagine carte réseau en mode promiscuous, et analyse de la destination et réémission du paquet si nécessaire.
Cela doit fonctionner en tcp et udp.
 
Quelqu'un peut-il m'aider? Quelles fonctions sont à utiliser?
J'ai très peu programmé en C et encore moins sous Linux!
 
Merci




 
Pourquoi veux-tu recoder un routeur alors que linux le fait tout seul ? Il suffit de savoir le configurer ...

Reply

Marsh Posté le 20-09-2002 à 17:20:01    

Linux sait le faire tout seul??? Ah bon!  
Alors, comment faire avec ipchains ou iptables ?
 
A mon avis, pas si facile que cà...  
En tout cas, ce qui est sur c'est qu'un routeur matériel ne sait pas le faire...
 
C 'est assez bizarre comme fonctionnement de matériel réseau.
 
Merci pour votre aide!
 
A+

Reply

Marsh Posté le 20-09-2002 à 19:49:16    

luma a écrit a écrit :

 
La solution, un pc gateway avec un soft maison qui réémet les paquets d'un certain réseau destinataire (genre 192.168.0.0/255.255.255.0) sur la même interface d'où provient le paquet.




 
Question: c'est toujours le meme port ?

Reply

Marsh Posté le 21-09-2002 à 17:55:19    

Et non, cela doit fonctionner pour tout ce qui passe... En fait le soft doit se comporter en tant que mirroir.
 
Exemple :
 
Machine1:192.168.0.1)
                         )--BASE--------- 192.168.0.254-(routeur)-Internet
Machine2:192.168.0.2)
 
Le soft doit donc contrôler ce qui arrive en 192.168.0.254 et si l'ip destination fait partie du réseau 192.168.0.0, il doit réémettre le paquet dans l'autre sens (donc sur la même interface)... Sinon, si ip destination est différente, router simplement (çà je sais faire) sur l'autre interface.
 
Le problème c'est que la base ne se comporte pas comme un dispositif d'interconnexion (type hub ou switch)...
 
Une idée?
 
Merci


Message édité par luma le 21-09-2002 à 17:56:08
Reply

Marsh Posté le 21-09-2002 à 19:43:37    

luma a écrit a écrit :

Et non, cela doit fonctionner pour tout ce qui passe... En fait le soft doit se comporter en tant que mirroir.




 
Je ne suis pas sûr de saisir l'intérêt, mais bon ...
 

Citation :


Exemple :
 
Machine1:192.168.0.1)
                         )--BASE--------- 192.168.0.254-(routeur)-Internet
Machine2:192.168.0.2)


 
Quel type de réseau relie Machine1 et Machine2 ?
Pourquoi réémettre le paquet alors qu'ile st forcément déjà passé sur ce bout de réseau ?
 

Citation :


Le soft doit donc contrôler ce qui arrive en 192.168.0.254 et si l'ip destination fait partie du réseau 192.168.0.0, il doit réémettre le paquet dans l'autre sens (donc sur la même interface)... Sinon, si ip destination est différente, router simplement (çà je sais faire) sur l'autre interface.


 
Miroir, c'est à dire qu'un paquet sur if0 src:A dst:B doit être réémis sur if0 avec src:B dst:A ?
 
Si il n'y a pas à inverser d'adresse, je vois comment le faire avec un firewall+routeur bsd (désolé, linux j'ai pas en tant que fw). Ça ne réponds pas à ta question.
 
Est-ce que machine1 et machine2 peuvent se parler ?
Quel type de réseau les relie au routeur ?
 
Ça me perturbe beaucoup ton truc, pourquoi rebalancer sur un réseau un paquet qui y est déjà passé ??

Reply

Marsh Posté le 22-09-2002 à 23:53:45    

C un système point-multipoint sans fil...  
Deux clients ne peuvent actuellement pas se voir.
 
C vrai que le terme mirroir n'est peut-être pas adéquat!
Mais bon, c'était pour imager.
 
Il n'y a pas de communication possible entre machine 1 et machine 2. En réalité, l'émetteur central (base) ne sait pas router les informations... C pour çà que je dois trouver une solution pour mirroiter (j'insiste ;-)) les infos...
 
Merci jyb et à +


Message édité par luma le 22-09-2002 à 23:54:25
Reply

Sujets relatifs:

Leave a Replay

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