
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
>‹\û
  ã               @   s    d dl Z ddd„Zddd„ZdS )	é    NFc                sh   t jt jgt j| t j|t jˆiƒ}g }|rdx8tdd„ t‡ ‡fdd„|ƒƒD ]}||krJ|j|ƒ qJW |S )Nc             S   s
   | t j S )N)ÚsepolicyZTARGET)Úy© r   ú/usr/lib/python3.6/network.pyÚ<lambda>   s    zget_types.<locals>.<lambda>c                s"   t ˆƒj| tj ƒo ˆ  p | d S )NZenabled)ÚsetÚissubsetr   ÚPERMS)Úx)Úcheck_boolsÚpermr   r   r      s    )	r   ÚsearchZALLOWZSOURCEZCLASSr	   ÚmapÚfilterÚappend)ÚsrcZtclassr   r   ZallowsZnlistÚir   )r   r   r   Ú	get_types   s    "$r   c       	      C   sz  t jƒ \}}i }t| d| |g|ƒ}t|ƒdk�rvg || ||f< �x2|D �](}|dkrdd|kr`qHd}|dkr€d|krvqHd|kr€qH|dkr¢|| ||f j|dgfƒ |d	krÆ|| ||f j|d
gfƒ qH|dkrê|| ||f j|dgfƒ qH|dk�r|| ||f j|dgfƒ qH|dk�r6|| ||f j|dgfƒ qHy$|| ||f j||||f fƒ W qH tk
�rp   Y qHX qHW |S )Nz	%s_socketr   Zephemeral_port_typeZunreserved_port_typeZephemeral_port_tZunreserved_port_tZport_tz all ports with out defined typesZ	port_typez	all portszall ports > 1024Zreserved_port_typezall ports < 1024Zrpc_port_typezall ports > 500 and  < 1024)r   Zgen_port_dictr   Úlenr   ÚKeyError)	r   Zprotocolr   r   ZportrecsZportrecsbynumÚdZtlistr   r   r   r   Úget_network_connect#   s<    

$
r   )F)F)r   r   r   r   r   r   r   Ú<module>   s   

