Obtenga direcciones IPv6 en Linux usando ioctl
Esto probablemente no funcionará.
Desde man 7 netdevice :
SIOCGIFCONF
Devuelve una lista de direcciones de interfaz (capa de transporte). Actualmente, esto significa solo direcciones de AF_INET (IPv4) para compatibilidad.
[...]
NOTAS
[...]
Las direcciones IP IPv6 locales se pueden encontrar a través de /proc/net o viartnetlink(7).
Sí, ese ioctl es heredado y no devolverá IPv6. Cada plataforma tiene una forma diferente de obtener las IPv6:
- Linux, usa NETLINK si estás loco, usa
getifaddrssi tiene una glibc vagamente reciente, de lo contrario, lea/proc/net/if_inet6(por ejemplo, en Android). - Darwin o FreeBSD:usa
getifaddrs. - Solaris, usa
SIOCGLIFCONF. - AIX, use
SIOCGIFCONFque en realidad devuelve direcciones IPv4 e IPv6 (porque tienen unsa_lencampo enstruct sockaddren realidad pueden apoyar eso).