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

Répondre à