
    Mg                         S SK JrJr  S SKJr  S SKJr  S SKJr  S SKJrJ	r	J
r
  S rS rS rS	 rS
 r\	" \
S/ SQS9\" S5      S 5       5       rg)    )query
exceptions)pprint)popen)findall)pluginrequireUNIXc                 F    SU -   n[        U5      nUR                  5       nU$ )Nz	nslookup r   readhostping_strstreamoutputs       C/Users/admin/workspace/ai/Jarvis/jarviscli/plugins/get_host_info.py	ns_lookupr   	   s%    T!H8_F[[]FM    c                 R     [        U 5      nU$ ! [        R                   a     g f = fN)r   r   
UnknownTld)r   domains     r   whois_lookupr      s-    t   s    &&c                 L    SU -   S-   n[        U5      nUR                  5       nU$ )Nping z -c1r   r   s       r   pingr      s)    ~&H8_F[[]FMr   c                      Sn[        X05      S   n U $ ! [         aB     Sn[        X@5      S   n  U $ ! [         a     UR                  S5        [        X5          g f = ff = f)Nz#([a-z,A-Z,0-9,.]+[.][a-z,A-Z]{1,9})r   z[\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)z
Invalid Hostname or IP)r   
IndexErrorsayget_host_info)r   jarvissdomain_regexip_regexs        r   sanitize_hostr&       s    >|*1- K  		DH 8*1-D
 K	  	JJ12&$		s$    
A 2&AA AA c                 B   SnSn[        US-   5      nUb)  UR                  5       S:X  d  UR                  5       S:X  a  g [        X@U5      nUc  g U R                  SU-   S-   U-   S-   U-   5        [	        U5      nU R                  U5        U R                  US	-   U-   S-   U-   5        [        U5      nU(       a  [        UR                  5        OU R                  S
U-   5        U R                  SU-   S-   U-   S-   U-   5        [        U5      nU R                  U5        g )Nz[1;32mz[1;37mz!Enter Domain Name or IP Address: qquit
znslookup on :zwhois Lookup on z#Could not run whois lookup on host r   )	inputlowerr&   r    r   r   r   __dict__r   )r"   r#   greenwhiter   responses         r   r!   r!   1   s   EE<<=D::<3$**,&"8q)D| JJte|n,t3c9EABH
JJx JJu))D036>?D!Hx  !

84?@ JJte|g%,s2U:;DzH
JJxr   T)whoisnslookupr   )platformnetworknativehostinfoc                     [        X5        g r   )r!   )r"   r#   s     r   mainr9   S   s     &r   N)r2   r   r   r   osr   rer   r   r	   r
   r   r   r   r&   r!   r9    r   r   <module>r=      s]    #    ( ("D 	$-JK
  Lr   