def in6_getifaddr():
    """
    Returns a list of 3-tuples of the form (addr, scope, iface) where
    'addr' is the address of scope 'scope' associated to the interface
    'ifcace'.

    This is the list of all addresses of all interfaces available on
    the system.
    """
    ret = []
    try:
        fdesc = open("/proc/net/if_inet6", "rb")
    except IOError:
        return ret
    for line in fdesc:
        # addr, index, plen, scope, flags, ifname
        tmp = plain_str(line).split()
        addr = scapy.utils6.in6_ptop(
            b':'.join(
                struct.unpack('4s4s4s4s4s4s4s4s', tmp[0].encode())
            ).decode()
        )
        # (addr, scope, iface)
        ret.append((addr, int(tmp[3], 16), tmp[5]))
    fdesc.close()
    return ret
def in6_getifaddr ( ) : ret = [ ] try : fdesc = open ( "/proc/net/if_inet6" , "rb" ) except IOError : return ret for line in fdesc : tmp = plain_str ( line ) . split ( ) addr = scapy . utils6 . in6_ptop ( b':' . join ( struct . unpack ( '4s4s4s4s4s4s4s4s' , tmp [ 0 ] . encode ( ) ) ) . decode ( ) ) ret . append ( ( addr , int ( tmp [ 3 ] , 16 ) , tmp [ 5 ] ) ) fdesc . close ( ) return ret
Returns a list of 3-tuples of the form (addr, scope, iface) where
    'addr' is the address of scope 'scope' associated to the interface
    'ifcace'.

    This is the list of all addresses of all interfaces available on
    the system.