Эĺ d dl Z d dlZd dlZd dlmZ d dlmZmZmZm Z m Z mZmZ d dl mZmZmZmZ d dlZd dlmZ d dlmZmZ e j e Z ej dej Zd\ ZZZ d \ Z!Z"ee ef Z#d Z$d dee fdZ%d eeee f fdZ&d Z'dZ( ed d Z)de*fdZ+d Z,deee f fdZ-dee ef d ee*e*e*f fdZ.de*de*de*d e#fdZ/de0d ede ef fdZ1dS )! N) lru_cache) IPV4LENGTH IPV6LENGTHIPv4AddressIPv4NetworkIPv6AddressIPv6Network ip_network)IterableOptionalTupleUnion)get_kernel_module_parameter)IP IPVersions ^nameserver ([\w.:]+))tcpudpall)inoutz/etc/resolv.conf ip_versionc # K t t d 5 }| }d d d n# 1 swxY w Y n# t $ r g cY S w xY wt | D ]K}| d }t j | r | t j | | k s| |V Ld S )Nrbascii) openRESOLV_CONF_FILEreadOSErrorDNS_IP_TEMPLATEfindalldecoder is_valid_iptype_of)r fcontentips D/opt/imunify360/venv/lib/python3.11/site-packages/im360/utils/net.pylocal_dns_from_resolv_confr( ! s "D ) ) QffhhG %%g.. YYw >" &2:b>>Z+G+G# s. A :A >A >A AAreturnc # H K t j D ]y} | D ]t}|j t j k rt |j V .|j t j k r1t |j dd d V uzdS )z8Return a list of IP address assigned to local interfaces% )maxsplitr N)psutilnet_if_addrsvaluesfamilysocketAF_INETr addressAF_INET6r split)ipsr&