Finding local IP addresses using Python's stdlib

ip-address, networking, python

Solution

import socket
socket.gethostbyname(socket.gethostname())

This won't work always (returns `127.0.0.1` on machines having the hostname in `/etc/hosts` as `127.0.0.1`), a paliative would be what gimel shows, use `socket.getfqdn()` instead. Of course your machine needs a resolvable hostname.

Problem

How can I find local IP addresses (i.e. 192.168.x.x or 10.0.x.x) in Python platform independently and using only the standard library?

Original source

Related problems