How to get IP address for network interface in Python without any libraries
The following example code will get the IPv4 address for the local network interface eth0
:
import subprocess
import re
def get_interface_ip(interface):
"""Get IP address for a given network interface"""
command = f"ip addr show {interface}"
output = subprocess.check_output(command, shell=True).decode()
ip_pattern = r'inet\s+(\d+\.\d+\.\d+\.\d+)'
match = re.search(ip_pattern, output)
if match:
ip_address = match.group(1)
return ip_address
else:
return None
interface_name = "eth0"
ip_address = get_interface_ip(interface_name)
if ip_address:
print(f"IP address of {interface_name}: {ip_address}")
else:
print(f"No IP address found for {interface_name}")
Example output:
IP address of eth0: 192.168.178.221