Skip to content
Advertisement

Python: get default gateway for a local interface/ip address in linux

On Linux, how can I find the default gateway for a local ip address/interface using python?

I saw the question “How to get internal IP, external IP and default gateway for UPnP”, but the accepted solution only shows how to get the local IP address for a network interface on windows.

Thanks.

Advertisement

Answer

For those people who don’t want an extra dependency and don’t like calling subprocesses, here’s how you do it yourself by reading /proc/net/route directly:

JavaScript

I don’t have a big-endian machine to test on, so I’m not sure whether the endianness is dependent on your processor architecture, but if it is, replace the < in struct.pack('<L', ... with = so the code will use the machine’s native endianness.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement