Як отримати IP-адресу мережевого інтерфейсу в Python без жодних бібліотек

Наступний приклад коду отримає IPv4-адресу для локального мережевого інтерфейсу eth0:

get_interface_ip.py
import subprocess
import re

def get_interface_ip(interface):
    """Отримати IP-адресу для заданого мережевого інтерфейсу"""
    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-адреса {interface_name}: {ip_address}")
else:
    print(f"IP-адресу для {interface_name} не знайдено")

Приклад виводу:

ip_address_output.txt
IP-адреса eth0: 192.168.178.221

Дивіться схожі статті за категоріями: Python