Dapatkan alamat IPv6 di linux menggunakan ioctl
Ini mungkin tidak akan berhasil.
Dari man 7 netdevice
:
SIOCGIFCONF
Kembalikan daftar alamat antarmuka (lapisan transportasi). Saat ini berarti hanya alamat AF_INET keluarga (IPv4) untuk kompatibilitas.
[...]
CATATAN
[...]
Alamat IP IPv6 lokal dapat ditemukan melalui /proc/net atau viaartnetlink(7).
Ya, ioctl itu warisan dan tidak akan mengembalikan IPv6. Setiap platform memiliki cara berbeda untuk mendapatkan IPv6:
- Linux, gunakan NETLINK jika Anda gila, gunakan
getifaddrs
jika Anda memiliki glibc baru-baru ini, jika tidak, baca/proc/net/if_inet6
(misalnya di Android). - Darwin atau FreeBSD:gunakan
getifaddrs
. - Solaris, gunakan
SIOCGLIFCONF
. - AIX, gunakan
SIOCGIFCONF
yang sebenarnya mengembalikan alamat IPv4 dan IPv6 (karena keduanya memilikisa_len
distruct sockaddr
mereka benar-benar dapat mendukung itu).
Membuat soket mentah dengan Python tanpa hak akses root
Bagaimana cara membagi file CSV sesuai jumlah baris yang ditentukan?