shell bypass 403

Cubjrnet7 Shell


name : netinfo.cpython-39.opt-1.pyc
a

'�Dg`�@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�5/usr/lib/python3.9/site-packages/cloudinit/netinfo.pyr,s
rc	CsPt�|�}i}|D�]6}d|vr(|dng}|�d�dkrB|dnd}|td|voXd|v�ggd�}|�d	g�D]�}|�d
�dkr�d|vr�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/�local�	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@


���


�
�r7z22.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	|vold
|v�d�||<qd|vr�t�d
|�}|s�t�	d||�q||d�
|���qd|v�rHt�d|�}|s�t�	d||�q|��}|�d�}|�
d�\}	}
}|�sd}||d�
|	|d�r0|dndt|�|dd��qd|vrt�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+.*r5�@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�warningr3�	groupdict�pop�	partitionr)�
ipaddr_outr4Zdev_nameZnum�line�mrr@r:r6�_�prefixrrr�_netdev_info_iprouteisv
���
��
����rNc
Cszi}|��D�]f}t|�dkr q|ddvrb|��d}|�d�rN|dd�}||vrbtt�||<|������}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>�lenrC�endswithr�DEFAULT_NETDEV_INFOrB�stripr?�search�ranger3r�
startswith�lstripr@rA)
�
ifconfig_datar4rJ�curdev�toks�i�networkZnet_bits�addr6�resrrr�_netdev_info_ifconfig_netbsd�sN
�  $  ricCs i}|��D�]}t|�dkr q|ddvrb|��d}|�d�rN|dd�}||vrbtt�||<|������}|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)NrrOrRrSrTrTz
flags=\d+<up,r#rr(rUzbcast:r*r&zmask:r)r2rrr+rrVr$r,rWr.rXrY)r>rZrCr[rr\rBr]r?r^r_r3rar`r@rA)rbr4rJrcrdrergrhrrr�_netdev_info_ifconfig�s\
�    $  rj)�returncs�i}t��r0tjddgddgd�\}}t|�}n�t�d�r�zt�gd��\}}t|�}Wq�tjy�t�gd��\}}t|�}Yq�0n8t�d�r�tjddgddgd�\}}t|�}n
t	�
d	�|d
kr�|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-arrT�Zrcsr()r(z--jsonr6)r(r6Zshowz>Could not print networks: missing 'ip' and 'ifconfig' commandsr
�r
�cslt|t�r|��}n t|ttf�r,t|�}ntd��|D].\}}||vrR|||<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_typesrrrygs




znetdev_info.<locals>.fill)ru)r
rm)r
Z	is_NetBSDr	ri�whichr7�ProcessExecutionErrorrNrjrDrErrqrr)�emptyr4Z	ifcfg_out�_errrIrrxr�netdev_info%s.'



�
r~cCs�i}g|d<g|d<|��}ddddddd�}|D�].}t|�}|sFq2|��}dg}|ddkrrd|d	<d|d
<n^d|dvr�|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�|�q2zt	j	gd�ddgd�\}}Wnt	j
�y�Y�n
0|��}
|
D]�}i}|�s��q�|��}|ddk�r�d|d	<d|d<n|d|d	<d|d<d|d<tt|��D]�}
||
dk�r4||
d|d<d|d<||
dk�rR||
d|d<||
dk�rp||
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.0rr�r,r;�Hr�ZviarT�Gr5r�r�r)r(z	--onelinez-6�routerr�table�allrlz::/0ZUG�::Zexpires�e)r>rrCr3rr_rZ�insert�joinr	r{)Ziproute_data�routes�entriesZdefault_route_entryrJ�entryrdrr6ZcidrreZ
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 ztjgd�ddgd�\}}Wntj�y*Yn�0|��}|D]�}|�sF�q8|��}t|�d
k�s8|ddk�s8|ddk�s8|ddk�s8|ddk�s8|ddk�r��q8|d|d|d|d|d|d|dd�}|ddk�r�q8|d�d��rt�dd|d�|d<|d�|��q8|S)Nrr�rZKernel�DestinationZInternetZ	Internet6ZRouting��-��rTrV��)rr�r�rr��ref�user�)�netstatz-Ar+�--route�	--numericrlZProtoZActive)rr�rr�r�r�r�r��lorz/128z\/128$r
)	r>rCrZr3r	r{r[r?�sub)	Z
route_datar�r�rJrdr�Zroute_data6r�r�rrr�_netdev_route_info_netstat�s�	
�
�
�
�
�
�

�
�
�
�
�
�
�
��

�r�cCsfi}t�d�r*t�gd��\}}t|�}n8t�d�rXtjgd�ddgd�\}}t|�}n
t�d�|S)	Nr()r(z-or�rrr�)r�r�r�z--extendrrTrlz;Could not print routes: missing 'ip' and 'netstat' commands)r	rzr�r�rDrE)r�Ziproute_outr}Z	route_outrrr�
route_info(s


�

�r�cCs�g}d}zt|d�}WnFty\}z.|�t�djt|�d�dd��WYd}~�n&d}~00|sfdSgd�}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�.)r|z Net device info failed ({error})��error�!�P�
)ZDeviceZUpZAddressZMaskZScopez
Hw-Addressrrr(r)r'rrr.r�rvzNet device info�+)r~�	Exceptionr3r
�center�formatrr�sortedrpr1�add_rowrZ�
get_string�maxr>�extendr�)�linesr|Znetdevr��fieldsZtblr5rtr6Znetdev_s�max_len�headerrrr�netdev_pformat;s\��
��

��
 �r�c
Cs>g}z
t�}WnVtyd}z>|�t�djt|�d�dd��t�td|�WYd}~�n�d}~00|�	d��rDgd�}t
|�}t|�	d��D]z\}}t|�}z2|�||d|�	d	d
�|d|d|d
g�Wq�t
�y}zt�td|�WYd}~q�d}~00q�|��}tt|��td��}	t�dd|	�}
|�|
|g�|�	d��r0gd�}t
|�}t|�	d��D]�\}}t|�}|ddk�r��qnz,|�||d|�	d	d�|d|d
g�Wn6t
�y�}zt�td|�WYd}~n
d}~00�qn|��}tt|��td��}	t�dd|	�}
|�|
|g�d�|�dS)NzRoute info failed ({error})r�r�r�zRoute info failed: %sr)�Router��GatewayZGenmaskr�Flagsrr�r�r�r�rzRoute info formatting error: %sr�zRoute IPv4 infor�r)r�r�r�rr�r�r�zRoute IPv6 infor�)r�r�r3r
r�r�rZlogexcrDr1rr=r��KeyErrorr�rZr�r>r�r�)
r�r�r�Z	fields_v4Ztbl_v4�n�rZroute_idZroute_sr�r�Z	fields_v6Ztbl_v6rrr�
route_pformatosl
��(
��
(
��	*r��	ci-info: cCszg}t���}|r0|D]}|�d||f�qn
|�|�t���}|rf|D]}|�d||f�qLn
|�|�d�|�S)Nz%s%sr�)r�r>r3r�r�r�)rMr�Znetdev_linesrJZroute_linesrrr�
debug_info�s



r�)r
)r�)%r/Zloggingr?rr�	ipaddressr�typingrrrZ	cloudinitrr	r
Zcloudinit.net.network_staterZcloudinit.simpletablerZ	getLoggerrrDr\rr7Zdeprecate_callrNrirjrr~r�r�r�r�r�r�rrrr�<module>s:
6�
N0:��VXU4I

© 2025 Cubjrnet7