24 lines
913 B
Python
24 lines
913 B
Python
import netifaces
|
||
|
||
def get_primary_ip():
|
||
try:
|
||
# Получаем список всех интерфейсов
|
||
interfaces = netifaces.interfaces()
|
||
for iface in interfaces:
|
||
# Пропускаем loopback интерфейс
|
||
if iface == 'lo':
|
||
continue
|
||
# Получаем данные об интерфейсе
|
||
iface_data = netifaces.ifaddresses(iface)
|
||
# Проверяем наличие IPv4 адреса
|
||
if netifaces.AF_INET in iface_data:
|
||
for addr in iface_data[netifaces.AF_INET]:
|
||
ip = addr['addr']
|
||
# Исключаем локальные адреса
|
||
if not ip.startswith('127.'):
|
||
return ip
|
||
return "IP не найден"
|
||
except Exception as e:
|
||
return f"Ошибка: {e}"
|
||
|