CyberAlphaWolf

Server : Apache
System : Linux 182.49.167.72.host.secureserver.net 4.18.0-553.92.1.el8_10.x86_64 #1 SMP Wed Jan 14 06:31:58 EST 2026 x86_64
User : kikai ( 1014)
PHP Version : 8.3.30
Disable Function : NONE
Directory :  /lib/fm-agent/library/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/fm-agent/library/__pycache__/inspector.cpython-36.pyc
3

,`riC�$@s0ddlmZddlZddlZddlZddlZddlZddlZyddlZWnddlj	ZYnXyddl
Z
WndZ
YnXyddlZWndZYnXyddlZWn:e
k
r�yddlZWne
k
r�dZYnXYnXdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�ZGdd�de�ZdS)�)�datetimeNccs@tjddkrt}nt}x"|d�D]}|d@V|dL}q"WdS)Nr����)�sys�version_infoZxrange�range)�n�rng�i�r
�&/usr/lib/fm-agent/library/inspector.py�mac_address_octets%s
rcCs dd�t|�D�}djt|��S)zw
    Expresses a decimal integer in standard MAC address format
     ex:
     7267271067680 -> '06:9c:0b:1c:48:20'
    cSsg|]}d|�qS)z%02xr
)�.0�ar
r
r�
<listcomp>7sz&int_to_mac_address.<locals>.<listcomp>�:)r�join�reversed)r
�valuesr
r
r�int_to_mac_address1srcCs,tj�}dtjkr(|j�jd�r(tj�}|S)N�darwinz.arpa)�socket�getfqdnr�platform�lower�endswith�gethostname)�hostnamer
r
r�get_fqdn;s

r c
CsHdtjkrdSy*tjddd�}tjdj|��\}}|j�SdSdS)NrZscutilT)�excz{} --get ComputerName)rr�
agent_util�which�execute_command�format�strip)Zsc_util�_�outputr
r
r�get_server_nameHs
r)cCs�tjd�}tjj�}dtjj�i}d|kr�y\tjd�}tjdj|��\}}d|krt|j	�j
d�dj	�j	d	�|d
<n|jdj|��Wn6tk
r�}z|j
djt|���WYdd}~XnX|S)
N�	InspectorrrZioregz6{} -d2 -c IOPlatformExpertDevice | grep IOPlatformUUIDr�=��"�uuidzioreg error: {}zGather UUID failure: {})�logging�	getLoggerrrrr"r#r$r%r&�split�error�	Exception�info�str)�logZmy_platform�rvZ	ioreg_bin�rcr(�er
r
r�get_platform_uuidsXs 


"r:ccsRtrNxHtj�j�D]8\}}x.|D]&}|jtjkr2q |jdkr>q |jVq WqWdS)Nz00:00:00:00:00:00)�psutilZnet_if_addrs�items�familyZAF_LINK�address)Ziface�addrs�addrr
r
r�mac_address_iterqs

rAcCs�dgi}yddl}t|j��|d<Wn6tk
rZ}ztj|�tjd�WYdd}~XnXy*x$tt��D]\}}|dj	|�qjWWnRt
k
r�tjd�Yn6tk
r�}ztj|�tjd�WYdd}~XnX|S)NZ
macaddressrZuuid_getnodezCUnable to import uuid module. Skipping MAC address fact collection.z=Unable to import psutil, skipping MAC address fact collectionz+Unknown error during MAC address collection)r.rZgetnoder3r/�warningr4�	enumeraterA�append�ImportError)�factsr.�errrZmac_addrr
r
r�get_mac_addresses|s"

rHc@s�eZdZddgZdZdd�Zd!dd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zd"dd�Zdd�Zdd �ZdS)#r*z/etc/apt/sources.listz/etc/yum.repos.d/panopta.repozhttp://packages.panopta.com/cCs
||_dS)N)�agent)�selfrIr
r
r�__init__�szInspector.__init__NcCs�i}tjd�}y�|j|j��|j|j��|j|j��|jt��|j|j��|j|j��|j|j	��|j|j
��|j|j��|j|j|��|j|j
��tjdkr�|j|j��Wn2tk
r�}z|jdj|��WYdd}~XnX|S)Nr*rrrzget_all facts: {})rrr)r/r0�update�get_agent_facts�get_python_facts�get_process_factsrH�get_hardware_facts�get_time_facts�get_hostname�get_platform_facts�get_machine_facts�get_wifi_facts�get_dem_network_factsrr�get_cloud_factsr3r4r%)rJ�	wifi_inforFr6r9r
r
r�
get_all_facts�s&

"zInspector.get_all_factsc	CsLi}dtjkrHy,tjd�\}}|jd�dj�}||d<WnYnX|S)Nrzsw_vers | grep ProductVersionrr,ZMacOSVersion)rrr"r$r1r&)rJrFr'r(�pvr
r
rrS�s
zInspector.get_platform_factscCsi}t�|d<|S)Nr)r )rJrFr
r
rrR�s
zInspector.get_hostnamec
Csdi}y6tjd�\}}dj|j�jd�dd��}||d<Wn$tj|jj�}|j	d�YnX|S)Nzls -l /etc/localtime�/r�timezonezUnable to get Time Zone���)
r"r$rr&r1r/r0�	__class__�__name__�	exception)rJrF�retcoder(r\r6r
r
rrQ�szInspector.get_time_factsc
CsRdii}dtjj�kr�yjtjd�\}}xV|j�jd�D]D}y0|j�jdd�\}}|dkrh|j�|d|<Wq6w6Yq6Xq6WWn$tj|j	j
�}|jd	�YnXy$tj
d
�tj
d�}||dd<Wn$tj|j	j
�}|jd
�YnX�nZy�tjd�\}}xr|j�jd�D]`}y|j�jdd�\}}Wn�wYnX|j�j�jdd�jdd�}|j�}||d|<�qWWn$tj|j	j
�}|jd	�YnXy�tjd�\}}xt|j�jd�D]b}|j�j�}	|	dj�jd��r�t|	d�|dd<|	dj�jd��r�t|	d�|dd<�q�WWn$tj|j	j
�}|jd
�YnX|S)z=
        Gather CPU and memory specs for the machine
        �hardwarerzsysctl -a | grep machdep.cpu�
rr,�machdep.cpu.brand_string�machdep.cpu.core_countz Unable to get CPU hardware facts�
SC_PHYS_PAGES�SC_PAGE_SIZEZ	mem_totalz#Unable to get memory hardware factsZlscpuz(s)�� r'zfree -mrZmemZswapZ
swap_total)rdre)rrrr"r$r&r1r/r0r^r_r`�os�sysconf�replace�
startswith�int)
rJrFrar(�line�key�valuer6Z	total_memZfieldsr
r
rrP�s`

zInspector.get_hardware_factsc
Cs�i}tjjtjjt��|d<tjj|jj�|d<d|d<xX|jD]N}tjj|�r@y0t	|�}|j
|j�k|d<|j�|dr~PWq@Yq@Xq@Wd}dt
jks�tjjd�r�d}||d	<|S)
NZinstalled_timeZ
used_manifestFZinstalled_from_repoZpanoptarz
/etc/fm-agentZfortimonitorZagent_brand)rj�path�getctime�abspath�__file__�existsrI�
manifest_file�SOURCE_LIST_PATHS�open�PANOPTA_REPO�read�closerr)rJrFZsource_list_pathZsource_list�brandr
r
rrMs&
zInspector.get_agent_factscCs�dii}tj�|dd<tj�|dd<tj�|dd<tj�|dd<ytj�|dd<Wn.tk
r�tr�djtj��|dd<YnXt	j|dd<|S)	N�pythonr�	processor�version�uname�distriZsys_platform)
rr�python_versionr�r��AttributeError�distror�linux_distributionr)rJrFr
r
rrN,szInspector.get_python_factscCsri}y�d}tjddd�}dtd�i}|jdd|d	�|j�}|jd
kr\|j�j�}d|i}nd}|rv|jdd
|d	�n|jdd
�|j�}|jd
kr�tj	|j��}d|d<|d|d<||d<|SWnYnX�yddi}tjddd�}|jdd|d	�|j�}|jd
k�r�tj	|j��}d|d<|d|d<d|k�rB|d=x6|j
di�j�D]"\}}|d(k�rT|dj|��qTW||d<y*|j
j�}	|	j
dd �d!k}
|
|dd <Wn.tk
�r�tj|jj�}|jd"�YnX|SWnYnXypd#d!i}tjddd�}|jdd$|d	�|j�}|jd
k�r^tj	|j��}d%|d<|d&d'|d<||d<|SWnYnXiS))Nrhz169.254.169.254�)�timeoutz$X-aws-ec2-metadata-token-ttl-secondsi`T�PUTz/latest/api/token)�headers��zX-aws-ec2-metadata-token�GETz*/latest/dynamic/instance-identity/documentZawsZcloud_providerZ
instanceIdZcloud_instance_idZcloud_metadatazMetadata-FlavorZGooglezmetadata.google.internalz,/computeMetadata/v1/instance/?recursive=trueZgcp�idZserviceAccounts�
attributes�
/attribute�/sshkeys�
/vmdnssetting�/enable-osloginrIZenable_gcp_attributes�truezBUnable to parse manifest file to determine gcp attributes actions.ZMetadataz)/metadata/instance?api-version=2017-04-02ZazureZcomputeZvmId)r�r�r�r�)�httplib�HTTPConnectionr5�request�getresponse�statusr{�decode�json�loads�getr<�poprI�get_manifestr3r/r0r^r_r`)rJrF�token�hr��r�datarprq�manifestZenabled_gcp_attributesr6r
r
rrW>s�




zInspector.get_cloud_factscCsFi}tdkr|St�}xtj�D]}|j|j��q Wt|�|d<|S)N�	processes)r;�setZprocess_iter�add�name�list)rJrFr��procr
r
rrO�szInspector.get_process_factsc	Csvi}dtjkr|Sd|i}yBd}|j|�}|rZ||d}|jdd�|d<|jdd�|d	<Wn|j�YnX|S)
NrZmachine_descriptionZSPHardwareDataTyperZ
serial_numberrh�serialZ
machine_modelZmodel)rr�query_system_profilerr��clear)rJ�mdrF�tkr�r4r
r
rrT�s

zInspector.get_machine_factsc	Cs�i}d|i}yT|jdd�|d<|jdd�|d<|jdd�|d<|jdd�|d	<|jd
d�|d<Wn|j�YnXtj�j�|d<|S)
NZDEMWifiInfoZSSIDrhZssidZBSSIDZbssidZchannelz	link authZsecurity_algorithmZNSSZnss�	timestamp)r�r�r�utcnowr�)rJrXr�rFr
r
rrU�szInspector.get_wifi_factscCs�dtjkriSg}d|i}y�d}|j|�}|r�|j|g�}x�|D]x}|jdi�jdd�}|s^q@|jd�|jd�g|gd�}|j|�|jd	d�}	|	r@x"|	jd
g�D]}
|dj|
�q�Wq@WWntjd�|j�YnX|S)
NrZ!DEMNetworkInterfaceConfigurationsZSPNetworkDataTypeZIPv4ZRouter�_namerb)r��description�dns_serversZgateways�DNSZServerAddressesr�rV)rrr�r�rDr/r`r�)rJr�rFr�r4Z
network_infosZniZrouter�itemZdns_info�sar
r
rrV�s4





zInspector.get_dem_network_factsc
CsZy@tjd�}ddlm}m}||d|g|d�}tj|jj��}|St	j
d�dSdS)NZsystem_profilerr)�Popen�PIPEz-json)�stdoutr�)r"r#�
subprocessr�r�r�r�r�r{r/r`)rJZ	info_type�spr�r��dr�r
r
rr��s

zInspector.query_system_profiler)N)N)r_�
__module__�__qualname__rxrzrKrYrSrRrQrPrMrNrWrOrTrUrVr�r
r
r
rr*�s 
<!b

r*)rr"rrjrr/rr��http.client�clientr;r�r�rE�
simplejsonrrr r)r:rArH�objectr*r
r
r
r�<module>sB





XYZEAZ - Cyber Alpha Wolf © All Rights Reserved