[gull] IPV6 & IPV4

BRINER Cedric briner at infomaniak.ch
Fri Nov 13 09:14:41 CET 2009


> 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



More information about the gull mailing list