GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir des adresses IPv6 sous Linux en utilisant ioctl

Obtenir des adresses IPv6 sous Linux en utilisant ioctl

Cela ne fonctionnera probablement pas.

A partir du man 7 netdevice :

SIOCGIFCONF

Renvoie une liste d'adresses d'interface (couche transport). Cela signifie actuellement uniquement les adresses de AF_INET (IPv4) pour la compatibilité.

[...]

REMARQUES

[...]

Les adresses IP IPv6 locales peuvent être trouvées via /proc/net ou viaartnetlink(7).


Oui, cet ioctl est hérité et ne renverra pas IPv6. Chaque plate-forme a une manière différente d'obtenir les IPv6 :

  • Linux, utilisez NETLINK si vous êtes fou, utilisez getifaddrs si vous avez une glibc vaguement récente, sinon lisez /proc/net/if_inet6 (par exemple sur Android).
  • Darwin ou FreeBSD :utilisez getifaddrs .
  • Solaris, utilisez SIOCGLIFCONF .
  • AIX, utilisez SIOCGIFCONF qui renvoie en fait les adresses IPv4 et IPv6 (car elles ont un sa_len champ en struct sockaddr ils peuvent réellement prendre en charge cela).

Linux
  1. Comment obtenir l'utilisation totale du processeur sous Linux en utilisant C++

  2. Comment obtenir le nombre de CPU sous Linux en utilisant C ?

  3. Obtenez des deltas de souris en utilisant Python ! (sous Linux)

  4. Existe-t-il un moyen d'obtenir l'UID de l'utilisateur sur une machine Linux en utilisant Java ?

  5. Obtenir des adresses d'interface réseau local en utilisant uniquement proc ?

Obtenir des informations sur le processeur sous Linux

Écriture sans distraction sur Linux à l'aide de FocusWriter

Installer MongoDB à l'aide de Vagrant sous Linux

Comment obtenir votre adresse IP sous Linux

Utilisation de la commande Watch sous Linux

Comment obtenir des informations sur le matériel sous Linux à l'aide de la commande dmidecode