Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/sos/report/plugins/__pycache__/networking.cpython-36.opt-1.pyc

3

�f�1�@sZddlmZmZmZmZmZmZGdd�de�ZGdd�dee�ZGdd�deee�Z	dS)	�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOptc	s�eZdZdZdZd(ZdZeddd	ed
�edded
d�edde	dd�edddd
�edddd
�gZ
dZdddddddgZdZ
�fd d!�Zd"d#�Zd$d%�Zd&d'�Z�ZS))�
Networkingz,Network and networking devices configurationZ
networking�network�hardware�systemzwww.example.com�
tracerouteFzcollect a traceroute to %s)�default�desc�namespace_pattern�zFSpecific namespace names or patterns to collect, whitespace delimited.)r
Zval_typer�
namespacesNz0Number of namespaces to collect, 0 for unlimited�ethtool_namespacesTz;Toggle if ethtool commands should be run for each namespace�
eepromdumpz*Toggle collection of 'ethtool -e' for NICsz-W�tcp_diag�udp_diag�	inet_diag�	unix_diag�netlink_diag�af_packet_diag�xsk_diagZacdgiklmPSTcsbt�j�|jddd��|jdddddd	d
ddd
ddddg�|jddddddg�|jdddd�|jddddgd�|jd�|jd|jd d!�|jd"d#d$|jd%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4g�|jd5��r,|jd6d7d8g�|jd9�}|d:d;k�r,|d<j	�}x|D]}|jd=|��qWd>}t
|d?gd@�}|j||dAdB�|j�|j�dS)CNZbondZhosts)z/proc/net/bonding/bond.*z
/etc/hostsz
/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz
/etc/iproute2z
/etc/network*z/etc/nsswitch.confz/etc/resolv.confz/etc/xinetd.confz
/etc/xinetd.dz/etc/yp.confz
/proc/net/z!/sys/class/net/*/device/numa_nodez/sys/class/net/*/flagsz/sys/class/net/*/statistics/z/proc/net/rpc/use-gss-proxyz/proc/net/rpc/*/channelz/proc/net/rpc/*/flushz
/proc/net/cdpz/sys/net/cdpz/proc/net/eiconz
ip -o addr�ip_addr)�root_symlinkZtagszip route show table allZip_routeZiproute_show_table_allZ
plotnetcfgznetstat %s -neopa�netstat)rz
nstat -zasz
netstat -sznetstat %s -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cachezip -4 rule listzip -6 rule listzip vrf showz
ip -s -d linkz
ip -d addresszifenslave -azip mroute showz
ip maddr showzip -s -s neigh showzip neigh show nud noarpzbiosdevname -dztc -s qdisc showz/sys/class/devlinkzdevlink dev param showzdevlink dev infozdevlink port showzdevlink devZstatusr�outputzdevlink dev eswitch show %szip -s macsec showZmacsec)�kmodsT)�pred�changes)
�super�setupZ
add_file_tags�
add_copy_specZadd_forbidden_path�add_cmd_output�ns_wideZ
path_isdirZcollect_cmd_output�
splitlinesr�collect_ss_ip_ethtool_info�collect_bridge_info)�selfZdevlinksZ
devlinks_listZdevlinkZip_macsec_show_cmdZmacsec_pred)�	__class__�� /usr/lib/python3.6/networking.pyr#/s�




zNetworking.setupc	CsDx$|jD]}|jd|d|i�qW|jddddddd	d
��dS)z% Command tags for ip/ethtool/netstat zethtool -%s .*z	ethool_%sZethtoolrZ
ip_neigh_showZ	ip_s_linkrZnetstat_agnZ	netstat_s)zethtool [^-].*z
ip -d addresszip -s -s neigh showz
ip -s -d linkznetstat.*-neopaz
netstat.*-agnz
netstat -sN)�ethtool_shortoptsZadd_cmd_tags)r*�optr,r,r-�add_command_tags�szNetworking.add_command_tagscCs|jddddg�dS)zf Collect information about bridges (some data already collected via
        "ip .." commands)
        zbridge -s -s -d link showzbridge -s -s -d -t fdb showzbridge -s -s -d -t mdb showzbridge -d vlan showN)r%)r*r,r,r-r)�s
zNetworking.collect_bridge_infocCsdd}t||jddid�}|j||dd�dd�|jD�}|jd	d�|D�d
d�|jdd
ddddgd
d�|jd�r�d}|jd�|j|d
d�|jd�r�|jd|jdd�|jd�d}|j|jd�|jd��}|�rXddd�}d dd�}|j	|t||d!�d"��rt|dgd#�nd$}	|j	|t||d!�d"��r>t|dgd#�nd$}
�x|D�]}|j
d%|}d&|}
||d'}|j|d(|d)|d*|d+|d,|d-|d.|d/|j|d0|d1|j|d2gd3|
d4�|j|d5g|	|
d3d6�|j|d7g|
|
d3d6�|d}|j|||
d8�|jd9��rJ|j|d|d:|d;|d<g|d
d3|
d=��qJW|j�d$S)>z( Collect ss, ip and ethtool cmd outputs zss -peaonmir�all)rZrequiredT)r r!cSsg|]}d|�qS)zethtool -%sr,)�.0r/r,r,r-�
<listcomp>�sz9Networking.collect_ss_ip_ethtool_info.<locals>.<listcomp>cSsg|]}|d�qS)z %(dev)sr,)r2Z_cmdr,r,r-r3�sZethernet)�deviceszethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)sztc -s filter show dev %(dev)sz%tc -s filter show dev %(dev)s ingressrzethtool -e %(dev)szwWARNING: collecting an eeprom dump is known to cause certain NIC drivers (e.g. bnx2x/tg3) to interrupt device operationrz/bin/traceroute -n %s�d)�priorityzip netnszip netns exec rrziptables -VZ	nf_tables)�cmdrzip6tables -V)Zcmd_outputs)r )rNZnamespaced_networkz
namespaces/%s� zip -d address showzip route show table allzip -s -s neigh showzip -4 rule listzip -6 rule listzip vrf showz	sysctl -aznetstat %s -neopaz
netstat -sznetstat %s -agnz
nstat -zas�2)r6�subdirz
iptables-save)r r:r6zip6tables-save)r r:rzethtool -i %(dev)szethtool -k %(dev)szethtool -S %(dev)s)r4r6r:)
r�ss_kmodsr%r.Zadd_device_cmdZ
get_optionZ	_log_warn�
trace_hostZget_network_namespacesZtest_predicater4r&r0)r*Zss_cmdZss_predZ_ecmdsr7Z
cmd_prefixrZcoutZco6Ziptables_with_nftZip6tables_with_nft�	namespaceZ_devsZ_subdirZ
ns_cmd_prefixr,r,r-r(�s�





  
z%Networking.collect_ss_ip_ethtool_info)r	r
r)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr<r�str�intZoption_listr&r;r.r#r0r)r(�
__classcell__r,r,)r+r-r
s,


[rcs eZdZdZ�fdd�Z�ZS)�RedHatNetworkingzrhn.redhat.comcsPy,|jjjd�}t|dd�dkr*d|_Wntk
r@YnXt�j�dS)Nz	net-tools�versionr�z-T)�policyZpackage_managerZpkg_by_namerBr&�	Exceptionr"r#)r*Znetstat_pkg)r+r,r-r#s
zRedHatNetworking.setup)r>r?r@r<r#rCr,r,)r+r-rDsrDcs(eZdZdZ�fdd�Zdd�Z�ZS)�UbuntuNetworkingzarchive.ubuntu.comcshtjddgddddddd	d
dg	�}|jj�|kr@||jj�|_t�j�|jdd
ddddddg�dS)Ng
ףp=
6@g�����7@rrrrrrrZ
mptcp_diagZraw_diagz/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.dz/etc/resolv.confz/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)�dict�fromkeysrGZdist_versionr;r"r#r$)r*Zubuntu_ss_kmods)r+r,r-r##s$


zUbuntuNetworking.setupcCs|jddd�dS)Nz/etc/netplanz(\s+password:).*z	\1 ******)Zdo_path_regex_sub)r*r,r,r-�postproc<szUbuntuNetworking.postproc)r>r?r@r<r#rLrCr,r,)r+r-rI srIN)
Zsos.report.pluginsrrrrrrrrDrIr,r,r,r-�<module>	s
 

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists