GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni indirizzi IPv6 in Linux usando ioctl

Ottieni indirizzi IPv6 in Linux usando ioctl

Questo probabilmente non funzionerà.

Da man 7 netdevice :

SIOCGIFCONF

Restituisce un elenco di indirizzi di interfaccia (livello di trasporto). Ciò significa attualmente solo gli indirizzi di AF_INET (IPv4) per compatibilità.

[...]

NOTE

[...]

Gli indirizzi IP IPv6 locali possono essere trovati tramite /proc/net o viartnetlink(7).


Sì, quell'ioctl è legacy e non restituirà IPv6. Ogni piattaforma ha un modo diverso di ottenere quelli IPv6:

  • Linux, usa NETLINK se sei pazzo, usa getifaddrs se hai una glibc vagamente recente, altrimenti leggi /proc/net/if_inet6 (ad esempio su Android).
  • Darwin o FreeBSD:usa getifaddrs .
  • Solaris, usa SIOCGLIFCONF .
  • AIX, usa SIOCGIFCONF che in realtà restituisce gli indirizzi IPv4 e IPv6 (poiché hanno un sa_len campo in struct sockaddr possono effettivamente supportarlo).

Linux
  1. Come ottenere il numero di CPU in Linux usando C?

  2. C'è un modo per ottenere l'UID dell'utente sulla macchina Linux usando java?

  3. Come ottenere la voce in formato raw usando il microfono in Linux

  4. Ottieni nomi e indirizzi delle funzioni esportate in Linux

  5. Linux/bash:come ottenere l'indirizzo IPv6 dell'interfaccia?

Ottieni informazioni sulla CPU su Linux

Scrittura senza distrazioni su Linux utilizzando FocusWriter

Installa MongoDB usando Vagrant in Linux

Come ottenere il tuo indirizzo IP su Linux

Utilizzo del comando Watch in Linux

Come ottenere informazioni sull'hardware su Linux utilizzando il comando dmidecode