o
    àý°jÙ  ã                   @   sN   d dl mZ d dlmZ d dlmZ d dlmZ dZdZ	G dd„ deeƒZ
dS )	é    )ÚLOG)ÚHTTPSocksRelay)ÚSSLServerMixin)ÚSSLÚHTTPSSocksRelayz
c                   @   s8   e Zd ZdZdZdd„ Zedd„ ƒZdd„ Zd	d
„ Z	dS )r   zHTTPS Socks PluginÚHTTPSc                 C   s   t  | ||||¡ d S ©N)r   Ú__init__)ÚselfÚ
targetHostÚ
targetPortÚsocksSocketÚactiveRelays© r   úª/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/examples/ntlmrelayx/servers/socksplugins/https.pyr	   !   s   zHTTPSSocksRelay.__init__c                   C   s   dS )Ni»  r   r   r   r   r   ÚgetProtocolPort$   s   zHTTPSSocksRelay.getProtocolPortc                 C   s.   t  d¡ |  ¡  t | ¡s| j ¡  dS dS )Nz%Wrapping client connection in TLS/SSLFT)r   ÚdebugÚwrapClientConnectionr   ÚskipAuthenticationr   Úshutdown)r
   r   r   r   r   (   s   


z"HTTPSSocksRelay.skipAuthenticationc                 C   sL   	 z	| j  | j¡}W n tjy   Y d S w |  |¡}| j |¡ |  ¡  qr   )	r   ÚrecvÚ
packetSizer   ÚZeroReturnErrorÚprepareRequestÚrelaySocketÚsendÚtransferResponse)r
   ÚdataÚtosendr   r   r   ÚtunnelConnection1   s   þ
öz HTTPSSocksRelay.tunnelConnectionN)
Ú__name__Ú
__module__Ú__qualname__ÚPLUGIN_NAMEÚPLUGIN_SCHEMEr	   Ústaticmethodr   r   r   r   r   r   r   r      s    
	N)Úimpacketr   Ú6impacket.examples.ntlmrelayx.servers.socksplugins.httpr   Ú&impacket.examples.ntlmrelayx.utils.sslr   ÚOpenSSLr   ÚPLUGIN_CLASSÚEOLr   r   r   r   r   Ú<module>   s   