
    h                     r    d dl Z d dlZd dlZd dlmZmZ d dlmZ  ej                  e	      Z
 G d de      Zy)    N)DictAny)CountermeasurePluginc                   @    e Zd ZdZdeeef   deeef   fdZdefdZy)RandomDelayCountermeasureu(   
    随机延迟反制动作实现
    contextreturnc                    |j                  di       }|j                  dd      }|j                  dd      }||kD  r||}}t        j                  ||      }t        j                  |dz         t
        j                  d| d       d	|iS )
u   
        执行随机延迟动作。
        :param context: 包含 'config' 键的字典，'config' 中可包含 'min_delay' 和 'max_delay' (单位: 毫秒)。
                          默认值: min_delay=100, max_delay=1000。
        :return: 包含执行结果的字典。
        config	min_delayd   	max_delayi  g     @@zApplied random delay of msdelay_applied)getrandomrandinttimesleeploggerinfo)selfr   r   r   r   delays         <D:\code\IVE\./countermeasures\random_delay\countermeasure.pyexecutez!RandomDelayCountermeasure.execute   s     Xr*JJ{C0	JJ{D1	 y #,iyIy)4

56>".ugR89''    c                      y)Nz'Applies a random delay to the response. )r   s    r   get_descriptionz)RandomDelayCountermeasure.get_description$   s    8r   N)	__name__
__module____qualname____doc__r   strr   r   r   r   r   r   r   r   
   s6    (tCH~ ($sCx. (*9 9r   r   )r   r   loggingtypingr   r   pluginsr   	getLoggerr    r   r   r   r   r   <module>r)      s5        ( 
		8	$9 4 9r   