On Thu, Nov 12, 2009 at 05:53:44PM +0100, Daniel Cordey wrote: > Bonjours a tous, > > Je viens de decouvrir qu'il est devenu difficile d'obtenir l'adresse IPV4 > d'un > interface a l'aide de ce qui est disponible dans /proc/net... y'a plus que > if_inet6. Bon, jusque la, pas de probleme... sauf qu'une adresse EUI-64 ne me > sert pas a grand chose pour extraire l'adresse IPV4... Je tourne un peu en > rond... Quelqu'un a-t-il deja mis les doigts dans cette colle la ?
Je crois que j'ai trouvé: regarde le colonne "Source" de /proc/net/rt_cache. Ce qui'il faut comprendre c'est que les adresses sont codés en hexadecimal et qu'il sont inversés. De l'encadre de http://linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html?page=2: IP addresses in /proc/net/ In the files offered by the /proc/net/ directory, IP addresses are often represented as little-endian four-byte hexadecimal numbers. These are easy to convert into the more usual dotted-decimal notation. For example, to convert the remote address and port of line 16 of the /proc/net/tcp output shown in this column, we'd do the following: • Take the rem_address field: 0100007F:0017 • Reverse the ordering of the bytes in the IP address part: 7F000001:0017 • Let's separate the bytes of the address for readability: 7F 00 00 01 : 0017 • Perform a simple hexadecimal-to-decimal conversion on each: 127 0 0 1 : 23 It's a telnet connection to localhost. Simple enough. -- Erik Rossen OpenPGP key: 2935D0B9 [email protected] On fonce la tête dans http://www.rtfm-sarl.ch le guidon et on RTFM. _______________________________________________ gull mailing list [email protected] http://forum.linux-gull.ch/mailman/listinfo/gull
