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 precise :
- C'est pour integrer dans du Python
- Ce n'est donc pas un shell (pas de ifconfig)
- J'accepte les description avec ioctl()
- Je sais que je peux obtenir ca en "ouvrant" un socket, mais ce n'est
justement pas le but !
- les adresses IPV6 que j'arrive a lire sont au format EUI-64, donc pas
du 6to4 ou Teredo...
Je connais mal le sujet. Mais puisque IPV6 à bien plus d'adresses que
n'a IPV4, il me semble normal que tu ne puisse pas traduire n'importe
quelle adresse version 6 en 4.
Bref, j'ai cherche sur le net et lu des RFCs (pas tous !), mais, si je
comprends maintenant assez bien les mechanismes, je ne comprends toujours pas
comment ifconfig arrive a recuperer cette adresse IPV4... :-)
ah au final tu as bien une adresse IPv4 !
et bien il ne te reste plus qu'a lire le code source de ifconfig :)
Ok, je me lance, en tapant : eui-64 to ipv4 dans google j'obtiens
http://www.join.uni-muenster.de/Dokumente/drafts/draft-thomas-ipv6-esd-00.txt
et sous le point 3.1
3.1. EUI-64 from IPv4 address
One method to obtain a globally unique EUI-64 value is to use one of
the system's globally unique IPv4 address (not an IPv4 address with
a 10/8, 127/8, 172.16/12, or 192.168/16 prefix [RFC1918]). This can
be used to generate an EUI-64 in the following manner:
00-00-5E-10-aa-bb-cc-dd
aa-bb-cc-dd are the bytes of the IPv4 address in network order
It is expected that this can be automatically by configuration with
little or no user intervention.
cED
dc
_______________________________________________
gull mailing list
[email protected]
http://forum.linux-gull.ch/mailman/listinfo/gull