• # presque

    Posté par . En réponse au message Obtenir la liste des IPs de la machine locale. Évalué à 2.

    import socket
    import fcntl
    import struct

    def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
    s.fileno(),
    0x8915, # SIOCGIFADDR
    struct.pack('256s', ifname[:15])
    )[20:24])

    >>> get_ip_address('lo')
    '127.0.0.1'

    >>> get_ip_address('eth0')
    '38.113.228.130'

    Maintenant ton problème devient : "comment enumérer les différentes interfaces?" :)