o
    Žõ±j¾  ã                   @   sr   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 	 dd	d
„Zdd„ Zedkr7eƒ  dS dS )é    N)Úlogger)Ú
__banner__)ÚSMBConnectionFactory)ÚEven6RPCÚSecurityÚ*éd   c                 Ã   sF  �t  | ¡}| ¡ }| ¡ I d H \}}|d ur!td| ƒ d|fS t d¡ t |¡I d H \}}|d ur>td| ƒ d|fS t d¡ |j	||d�I d H \}	}|d ur[t|ƒ d|fS |j
|	|dd�2 z.3 d H W \}
}|d urut|ƒ  nzt|
ƒ W qc ty‘ } z
t|ƒ W Y d }~qcd }~ww 6 | ¡ I d H  | ¡ I d H  d	S )
NzFailed to connect to server! %sFzSMB Connected!zError during DCE setup! %szDCE Connected!)ÚqueryT)Úas_xml)TN)r   Úfrom_urlÚget_connectionÚloginÚprintr   Údebugr   Úfrom_smbconnectionÚregister_queryÚ
query_nextÚ	ExceptionÚcloseÚ
disconnect)ÚurlÚsrcr	   Úmax_entriesÚsuÚconnÚ_ÚerrÚeiÚ
sec_handleÚresÚe© r!   úŒ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/examples/smbeventq.pyÚamain   s@   €


 €þùr#   c                  C   s²   dd l } | jdd�}|jddddd� |jdd	d
d� |jddddd� |jddtddd� |jddd� | ¡ }ttƒ |jdkrHt 	t
j¡ t t|j|j|j|jd�¡ d S )Nr   zEvent query example)Údescriptionz-vz	--verboseÚcount)ÚactionÚdefaultz--srcr   zlog source to query)r'   Úhelpz-qz--queryr   zquery stringz-mz--max_entriesr   zmax element count to retrieve)Útyper'   r(   Úsmb_urlzƒConnection string that describes the authentication and target. Example: smb+ntlm-password://TEST\Administrator:password@10.10.10.2)r(   é   )r   r	   r   )ÚargparseÚArgumentParserÚadd_argumentÚintÚ
parse_argsr   r   Úverboser   ÚsetLevelÚloggingÚDEBUGÚasyncioÚrunr#   r*   r   r	   r   )r,   ÚparserÚargsr!   r!   r"   Úmain7   s   
"r9   Ú__main__)r   r   r   )r5   Ú	tracebackr3   Úaiosmbr   Úaiosmb._versionr   Ú!aiosmb.commons.connection.factoryr   Ú!aiosmb.dcerpc.v5.interfaces.even6r   r#   r9   Ú__name__r!   r!   r!   r"   Ú<module>   s   
'
ÿ