GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erhalten Sie IPv6-Adressen in Linux mit ioctl

IPv6-Adressen unter Linux mit ioctl abrufen

Das wird wahrscheinlich nicht funktionieren.

Ab man 7 netdevice :

SIOCGIFCONF

Gibt eine Liste von Schnittstellenadressen (Transportschicht) zurück. Damit sind derzeit nur Adressen des AF_INET gemeint (IPv4)-Familie für Kompatibilität.

[...]

HINWEISE

[...]

Lokale IPv6-IP-Adressen finden Sie über /proc/net oder viartnetlink(7).


Ja, dieses ioctl ist veraltet und gibt kein IPv6 zurück. Jede Plattform hat einen anderen Weg, um die IPv6 zu erhalten:

  • Linux, verwenden Sie NETLINK, wenn Sie verrückt sind, verwenden Sie getifaddrs wenn Sie eine vage aktuelle glibc haben, lesen Sie andernfalls /proc/net/if_inet6 (z. B. auf Android).
  • Darwin oder FreeBSD:Verwenden Sie getifaddrs .
  • Solaris, verwenden Sie SIOCGLIFCONF .
  • AIX, verwenden Sie SIOCGIFCONF die tatsächlich IPv4- und IPv6-Adressen zurückgibt (weil sie einen sa_len haben Feld in struct sockaddr sie können das tatsächlich unterstützen).

Linux
  1. So erhalten Sie die gesamte CPU-Auslastung in Linux mit C++

  2. Erhalten Sie Mausdeltas mit Python! (unter Linux)

  3. Gibt es eine Möglichkeit, die UID des Benutzers auf einem Linux-Computer mit Java abzurufen?

  4. Rufen Sie Namen und Adressen von exportierten Funktionen in Linux ab

  5. Linux/bash:Wie erhalte ich die IPv6-Adresse der Schnittstelle?

Erhalten Sie CPU-Informationen unter Linux

Ablenkungsfreies Schreiben unter Linux mit FocusWriter

Installieren Sie MongoDB mit Vagrant unter Linux

So erhalten Sie Ihre IP-Adresse unter Linux

Verwenden des Watch-Befehls unter Linux

So erhalten Sie Hardwareinformationen unter Linux mit dem Befehl dmidecode