Finding local IP addresses using Python's stdlib

UnkwnTech picture UnkwnTech · Oct 3, 2008 · Viewed 708.9k times · Source

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?

Answer

UnkwnTech picture UnkwnTech · Oct 3, 2008

I just found this but it seems a bit hackish, however they say tried it on *nix and I did on windows and it worked.

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])
s.close()

This assumes you have an internet access, and that there is no local proxy.