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 :  /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 : /usr/lib/python3/dist-packages/cloudinit/__pycache__/netinfo.cpython-310.pyc
o

x[hF`�@s"ddlZddlZddlZddlmZmZddlmZddlmZm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZe�e�Zggdd	d
�ZGdd�de
�Zd
d�Zejddd�dd��Zdd�Zdd�Z	d(deeeeefffdd�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	CsJt�|�}i}|D]�}d|vr|dng}|�d�dkr |dnd}|td|vo+d|v�ggd�}|�d	g�D]d}|�d
�dkrmd|vrPttd
|d���j�nd}|�dd�||�dd�|�dd�d�}	|d�|	�q7|d
dkr�|�dd�}
|
r�|�d�s�|
�d|�dd���}
|
|�dd�d�}	|d�|	�q7|||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)rrrr�	addr_info�family�inet�	prefixlenz0.0.0.0/�local�	broadcast�scope)�ip�mask�bcastr)r�inet6�/�@)r*�scope6r�ifname)�json�loads�getrrr�netmask�append)�ipaddr_json�ipaddr_data�devs�devrr �dev_info�addrr+�parsed_addrr*rrr�_netdev_info_iproute_json3sB

���


�
��r>z22.1zqRequired by old iproute2 versions that don't support ip json output. Consider upgrading to a more recent version.)�deprecated_version�
extra_messagecCs�i}d}t|���D]�\}}t�d|�}|r<|�d����d�d}|�d��d�}ggdtd	|vo5d
|v�d�||<q
d|vr\t�d
|�}|sPt�	d||�q
||d�
|���q
d|vr�t�d|�}|spt�	d||�q
|��}|�d�}|�
d�\}	}
}|s�d}||d�
|	|dr�|dndt|�|dd��q
d|vr�t�d|�}|s�t�	d||�q
|�d�dkr�|�d�||d<q
d||d<q
q
|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+.*r:�@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�warningr6�	groupdict�pop�	partitionr)�
ipaddr_outr9�dev_name�num�line�mrrIrCr<�_�prefixrrr�_netdev_info_iprouteisv
�����
����rYc
Csfi}|��D�])}|sq|ddvr-|��d}|�d�r#|dd�}||vr-tt�||<|������}t|�dkrIt�	d|d�rId||d<t
t|��D]�}||d	krq||d�d
�\}}||d�|t|�d��qO||d
kr�||d||ddd<qO||dkr�||d||d<qO||dkr�||ddkr�||d�d||di�qO||d�d||di�qO||dkr�||dddd
||d}|||ddd<qO||�
d�r�||�d�||ddd<qO||dk�r/t�d||d�}	|	�r!|	�d�||ddd<qO||d||ddd<qOq|S)Nr��	� �:����zflags=[x\d]+<up.*>Trr%r.r)r*r+r(r,zaddress:rr-�addr:rr*�r&�scope:r0�scopeid�	.*<(\S+)>)rGrL�endswithr�DEFAULT_NETDEV_INFOrK�strip�lenrH�search�ranger6r�
startswith�lstriprIrJ)
�
ifconfig_datar9rU�curdev�toks�i�network�net_bits�addr6�resrrr�_netdev_info_ifconfig_netbsd�sR
�  $ ��rucCsi}|��D�]}}|sq|ddvr-|��d}|�d�r#|dd�}||vr-tt�||<|������}|ddkrBd||d<nt|�dkrVt�	d|d�rVd||d<t
t|��D�]&}||d	krx||d
�d||d�d�i�q\||�
d
�r�||�d
�||d
dd<q\||dkr�||d||d
dd<q\||�
d�r�||�d�||d
dd<q\||dkr�||d||d
dd<q\||dks�||dkr�||d||d<q\||dk�r||ddk�r||d�d||di�q\||d�d||di�q\||dk�r;||dddd||d}|||ddd<q\||�
d��rS||�d�||ddd<q\||dk�r�t�d||d�}|�ru|�d�||ddd<q\||d||ddd<q\q|S)NrrZr]r^rTr_z
flags=\d+<up,r%rr*r`zbcast:r,r(zmask:r+r5rrr-rrar&r.rbr0rcrd)rGrLrerrfrKrgrhrHrirjr6rlrkrIrJ)rmr9rUrnrorprsrtrrr�_netdev_info_ifconfig�s`
�    $ �� rv�returncs�i}t��rtjddgddgd�\}}t|�}nHt�d�rDzt�gd��\}}t|�}Wn3tjyCt�gd��\}}t|�}Ynwt�d�r[tjddgddgd�\}}t|�}nt	�
d	�|d
krf|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'},
        ]
    },
    }

    �ifconfigz-arr_��rcsr*)r*z--jsonr<)r*r<�showz>Could not print networks: missing 'ip' and 'ifconfig' commandsr
�r
�cslt|t�r
|��}nt|ttf�rt|�}ntd��|D]\}}||vr)|||<qt|��r3�||�qdS)zQRecursively replace 'empty_vals' in data (dict, tuple, list)
        with new_valzUnexpected input to fillN)�
isinstancer�items�tuple�listrF�	TypeError)�data�new_val�
empty_vals�myiter�key�val��fill�
recurse_typesrrr�gs





��znetdev_info.<locals>.fill)r�N)r
r|)r
�	is_NetBSDr	ru�whichr>�ProcessExecutionErrorrYrvrMrNrr�r�)�emptyr9�	ifcfg_out�_errrRrr�r�netdev_info%s0'

�

�
r�cCs�i}g|d<g|d<|��}ddddddd�}|D]�}t|�}|s"q|��}dg}|ddkr8d|d	<d|d
<n/d|dvrH|d�d�\}}	n|d}d}	|�d
�t|	�|d
<||d	<t|	�|d
<d|d<tt|��D]2}
||
dkr�||
d|d<|�dd�||
dkr�||
d|d<||
dkr�||
d|d<qmd�|�|d<|d�|�qzt	j	gd�ddgd�\}}Wnt	j
y�Y|Sw|��}
|
D]x}i}|s�q�|��}|ddkr�d|d	<d|d<n|d|d	<d|d<d|d<tt|��D]B}
||
dk�r||
d|d<d|d<||
dk�r"||
d|d<||
dk�r1||
d|d<||
dk�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�r�r.rD�Hr��viar_�Gr:r�r�r)r*z	--onelinez-6�router��table�allryz::/0�UG�::�expires�e)rGrrLr6rrjrh�insert�joinr	r�)�iproute_data�routes�entries�default_route_entryrU�entryrorr<�cidrrp�
iproute_data6�_err6�entries6rrr�_netdev_route_info_iproute{s��

���
�r�c	
Cs
i}g|d<g|d<|��}|D]j}|sq|��}t|�dks=|ddks=|ddks=|ddks=|ddks=|dd	kr>qt|�d
krX|�d�|�d�|d|d
<d|d<|d|d|d|d|d|d|d|d
d�}|d�|�qztjgd�ddgd�\}}Wntjy�Y|Sw|��}|D]f}|s�q�|��}t|�d
ks�|ddks�|ddks�|ddks�|ddks�|ddkr�q�|d|d|d|d|d|d|dd�}|ddkr�q�|d�d�r�t�dd|d�|d<|d�|�q�|S)Nrr�r�Kernel�Destination�Internet�	Internet6�Routing��-��r_ra��)r�r�r�rr��ref�user�)�netstatz-Ar-�--route�	--numericry�Proto�Active)r�r�rr�r�r�r�r��lor�z/128z\/128$r
)	rGrLrhr6r	r�rerH�sub)	�
route_datar�r�rUror��route_data6r�r�rrr�_netdev_route_info_netstat�s�	

�
�"��

�r�cCsji}t�d�rt�gd��\}}t|�}|St�d�r.tjgd�ddgd�\}}t|�}|St�d�|S)	Nr*)r*z-or�r�r�)r�r�r�z--extendrr_ryz;Could not print routes: missing 'ip' and 'netstat' commands)r	r�r�r�rMrN)r��iproute_outr��	route_outrrr�
route_info(s

�
���r�cCsvg}d}zt|d�}Wn"ty-}z|�t�djt|�d�dd��WYd}~n�d}~ww|s2dSgd�}t|�}t|�	��D]W\}}|�
d	�}|D]}	|�||d
|	d|	d|	�
d
|�|df�qK|�
d�}
|
D]}	|�||d
|	d||	�
d|�|df�ql|s�|
s�|�||d
||||df�q@|��}t
t|��t
d��}t�dd|�}
|�|
|g�d�|�dS)N�.)r�z Net device info failed ({error})��error�!�P�
)�Device�Up�Address�Mask�Scopez
Hw-Addressrrr*r+r)rrr0�r�zNet device info�+)r��	Exceptionr6r
�center�formatrr�sortedrr4�add_row�
get_stringrh�maxrG�extendr�)�linesr��netdevr��fields�tblr:r��
ipv4_addrsr<�
ipv6_addrs�netdev_s�max_len�headerrrr�netdev_pformat;sf����	

��

��
��r�c
Cs,g}zt�}Wn*ty1}z|�t�djt|�d�dd��t�td|�WYd}~n�d}~ww|�	d�r�gd�}t
|�}t|�	d��D];\}}t|�}z|�||d|�	d	d
�|d|d|d
g�WqFt
y�}zt�td|�WYd}~qFd}~ww|��}tt|��td��}	t�dd|	�}
|�|
|g�|�	d��rgd�}t
|�}t|�	d��D]?\}}t|�}|ddkr�q�z|�||d|�	d	d�|d|d
g�Wq�t
y�}zt�td|�WYd}~q�d}~ww|��}tt|��td��}	t�dd|	�}
|�|
|g�d�|�dS)NzRoute info failed ({error})r�r�r�zRoute info failed: %sr)�Router��Gateway�Genmaskr�Flagsr�r�r�r�r�rzRoute info formatting error: %sr�zRoute IPv4 infor�r)r�r�r�rr�r�r�zRoute IPv6 infor�)r�r�r6r
r�r�r�logexcrMr4rrFr��KeyErrorr�rhr�rGr�r�)
r�r�r��	fields_v4�tbl_v4�n�r�route_id�route_sr�r��	fields_v6�tbl_v6rrr�
route_pformatrsx
����

��
��
��	��r��	ci-info: cCszg}t���}|r|D]}|�d||f�qn|�|�t���}|r3|D]}|�d||f�q&n|�|�d�|�S)Nz%s%sr�)r�rGr6r�r�r�)rXr��netdev_linesrU�route_linesrrr�
debug_info�s
�

�

r�)r
)r�)%r2�loggingrHrr�	ipaddressr�typingrrr�	cloudinitrr	r
�cloudinit.net.network_stater�cloudinit.simpletabler�	getLoggerrrMrfrr>�deprecate_callrYrurvrr�r�r�r�r�r�r�rrrr�<module>s<

6�
N0:�
�VXU7I

Anon7 - 2022
AnonSec Team