[C]Traceroute en parallèle
Prince
-
maxidoh -
maxidoh -
Bonjour,
je dois écrire un programme permettant de lancer plusieurs traceroute et de mettre le résultat dans un fichier.
Dans ce fichier, doit seulement apparaitre les adresses ip obtenues et ces adresses doivent être ordonnées suivant suivant leur distance minimales.
Pour ce qui est du lancement d'un traceroute, je n'ai pas de problème pour la récupération des adresses ip.
Mon problème se trouve lorsque plusieurs sont lancés, je ne sais pas comment m'y prendre pour avoir les ip comme il est demandé.
Si quelqu'un pouvait m'aider?
Merci par avance.
PS : Si vous ne comprenez pas quelque chose dites le
je dois écrire un programme permettant de lancer plusieurs traceroute et de mettre le résultat dans un fichier.
Dans ce fichier, doit seulement apparaitre les adresses ip obtenues et ces adresses doivent être ordonnées suivant suivant leur distance minimales.
Pour ce qui est du lancement d'un traceroute, je n'ai pas de problème pour la récupération des adresses ip.
Mon problème se trouve lorsque plusieurs sont lancés, je ne sais pas comment m'y prendre pour avoir les ip comme il est demandé.
Si quelqu'un pouvait m'aider?
Merci par avance.
PS : Si vous ne comprenez pas quelque chose dites le
5 réponses
Salut.
Je pense que tu n'es pas clair sur un point. Tu lance ton traceroute sur IP1,IP2,IP3. Pour chacun des trois IP, tu obtiens une route, que je note IP1.1 à IP1.5(par ex).
Doit tu sortir un fichier avec : (ordonnée du plus proche au plus loin)
IP1.1
IP2.2
IP1.2
IP3.1
etc...
ou juste la liste ordonnée pour chaque IP?
Je pense que tu n'es pas clair sur un point. Tu lance ton traceroute sur IP1,IP2,IP3. Pour chacun des trois IP, tu obtiens une route, que je note IP1.1 à IP1.5(par ex).
Doit tu sortir un fichier avec : (ordonnée du plus proche au plus loin)
IP1.1
IP2.2
IP1.2
IP3.1
etc...
ou juste la liste ordonnée pour chaque IP?
Bonjour,
J'ai fait ceci pour l'envoi des traceroute, j'aurais maitenant besoin d'aide pour le traitement des résultats.
Est-ce que quelqu'un pourrait m'aider?
Merci par avance
J'ai fait ceci pour l'envoi des traceroute, j'aurais maitenant besoin d'aide pour le traitement des résultats.
Est-ce que quelqu'un pourrait m'aider?
Merci par avance
int nb_ip; /* nombre d'adresses IP à tracerouter */ char **target_ip; /* adresses IP à tracerouter */ char cmd[128]; /* la commande "traceroute <adresse IP>" à effectuer */ FILE **traceroute /* les résultats des commandes traceroute */ int i; /* ajouter toutes les bonnes initialisations / allocations */ /* lancement des commandes traceroute dans des processus fils */ for( i=0 ; i<nb_ip ; ++i ) { snprintf( cmd, 128, "traceroute %s", target_ip[i] ); /* construction de la commande à exécuter */ traceroute[i] = popen( cmd, "r" ); if( !traceroute[i] ) { perror( "traceroute" ); /* gestion de l'erreur */ } } /* traitement des résultats des traceroute */ /* ... */ /* fermeture des tuyaux */ for( i=0 ; i<nb_ip ; ++i ) { pclose( traceroute[i] ); }
Bonjour,
est-ce que quelqu'un pourrait m'indiquer comment récupérer les donnés des différents traceroute.
Merci
est-ce que quelqu'un pourrait m'indiquer comment récupérer les donnés des différents traceroute.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est ça, il doit être ordonné du plus proche au plus loin.
Pour chaque traceroute,il faut pouvoir connaitre ses voisins ainsi que sa distance minimale à l'origine
Exemple :
Il faut récupérer les données de traceroute et les
analyser... (extraire l'adresse IP)
Ensuite, on trace une première branche (Les lettres représentes des
adresses IP)
traceroute X
A
B
C
X
A -> B -> C -> X
Puis on la complète...
traceroute Y
A
B
E
G
Y
A -> B -> C -> X
+ -> E -> G -> Y
traceroute Z
A
B
C
H
Z
A -> B -> C -> X
| + -> H -> Z
+ -> E -> G -> Y
etc...