[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Adresse IP



Le Mon, 4 Apr 2005 12:04:01 +0200
Jean-Michel OLTRA <jm.oltra.antispam@espinasse.net> a écrit:

> 
>     bonjour,
> 
> 
> Le lundi 04 avril 2005, François Boisson a écrit...
> 
> 
> > Un truc idiot en C, je crée une socket UDP qui envoit des paquets à
> > une machine donnée. Je cherche l'adresse IP sous laquelle
> > j'apparaitrais à la cible (en clair l'adresse IP d'où proviendra le
> > paquet que la machine recevra si on suppose l'absence de NAT bien
> > sûr). Un getsockname me renvoit  0.0.0.0 (IPPADR_ANY en fait).
> > Y-a-t-il une méthode simple, ça me parait tout bête mais je n'ai
> > rien trouvé dans mon pavé de référence ("Programmation système en C
> > sous linux" par Christophe Blaess).
> 
> getpeername() ??
> 

Non getpeername donne des renseignements sur la machine à l'autre bout
(B dans ci dessous alors que je veux A): Je vais être plus clair:

Une socket sur A envoit des paquets vers B, comment le programme en A
peut-il connaitre l'IP sous laquelle il envoit les paquets (l'IP de la
machine A donc). Si il y a plusieurs cartes réseaux, le pbm n'est pas si
simple, je pensais qu'un getsockname juste après un envoi de paquet
renverrait les informations  mais non, ça ne permet de connaitre que le
numéro de port utilisé...

Merci en tout cas

François Boisson 



Reply to: