OwlCyberSecurity - MANAGER
Edit File: netlink.cpython-36.pyc
3 B��Q�������������������@���s���d�Z�ddlZddlZddlZyDejejejd�Zejd8��[dd��Zdd��Z dd��Z d9d d�ZW�n��ejk �r���y.ddl Z dd��Zd d��Z dd��Z d:dd�ZW�n\�ek ��r����ddlZejd�ZG�dd��dej�Zdd��Zdd��Z dd��Z d;dd�ZY�nX�Y�nX�dZdZdZdZdZdZdZdZdZG�dd��d�ZG�dd��de�ZG�d d!��d!e�ZG�d"d#��d#e�Z G�d$d%��d%e�Z!G�d&d'��d'e�Z"dZ#dZ$dZ%dZ&dZ'd(Z(d)Z)d*Z*dZ+d+Z,d,Z-d-Z.d.Z/d/Z0d0Z1d1Z2dZ3G�d2d3��d3�Z4G�d4d5��d5�Z5d6d7��Z6dS�)<z� Netlink message generation/parsing Copyright 2007 Johannes Berg <johannes@sipsolutions.net> GPLv2+; See copying for details. �����Nc�������������C���s���|�j�|��d�S�)N)�bind)� descriptor�addr��r����/usr/lib/python3.6/netlink.py�_nl_bind���s����r���c�������������C���s���|�j���S�)N)�getsockname)r���r���r���r����_nl_getsockname���s����r ���c�������������C���s���|�j�|��d�S�)N)�send)r����msgr���r���r����_nl_send���s����r�����@��c�������������C���s ���|�j�|�S�)N)�recvfrom)r����bufsr���r���r����_nl_recv���s����r���c�������������C���s���t�j|�j��|d���d�S�)N����)�_netlinkr����fileno)r���r���r���r���r���r������s����c�������������C���s���t�j|�j���S�)N)r���r���r���)r���r���r���r���r ��� ���s����c�������������C���s���t�j|�j��|��d�S�)N)r���r ���r���)r���r���r���r���r���r���"���s����c�������������C���s���t�j|�j��|�S�)N)r���r���r���)r���r���r���r���r���r���$���s����c���������������@���s0���e�Zd�ZdejfdejfdejfdejfgZdS�)�SOCKADDR_NLZ nl_familyZnl_pad�nl_pid� nl_groupsN)�__name__� __module__�__qualname__�ctypesZc_ushort�c_intZ_fields_r���r���r���r���r���,���s���r���c�������������C���s2���t�tjdtj��d�}tj|�j��tj |�tj |��S�)Nr���)r����socket� AF_NETLINK�os�getpid�libcr���r���r����pointer�sizeof)r���r���r���r���r���r���2���s���� c�������������C���sH���t�dddd�}tjtj|��}tj|�j��tj|�tj|���|j|j fS�)Nr���) r���r���r���r"���r ���r���r���r!���r���r���)r���r����lenr���r���r���r ���8���s���� c�������������C���s���t�j|�j��|t|�d�S�)Nr���)r ���r ���r���r#���)r���r���r���r���r���r���@���s����c�������������C���sn���t�dddd�}tjtj|��}tj|�}tj|�j��||dtj|�tj|��}tj tj|�|�}||j |jffS�)Nr���)r���r���r���r"���Zcreate_string_bufferr ���r���r���r!���Z string_atr���r���)r���r���r���r#���Zbuf�r�retr���r���r���r���C���s���� r�����������������������c���������������@���s\���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��ZdS�)�Attrc�������������G���s,���||�_�t|�r"tj|f|���|�_n||�_d�S�)N)�typer#����struct�pack�data)�self� attr_typer/����valuesr���r���r����__init__^���s����z Attr.__init__c�������������C���sJ���t�jdt|�j�d�|�j�}t|�j�}|d�d�d@�|�}||�j�d|��S�)N�HHr'���r���r)�����������)r-���r.���r#���r/���r,���)r0����hdr�lengthZpadr���r���r����_dumpe���s���� z Attr._dumpc�������������C���s���d|�j�t|�j�f�S�)Nz<Attr type %d, data "%s">)r,����reprr/���)r0���r���r���r����__repr__k���s����z Attr.__repr__c�������������C���s���t�jd|�j�d�S�)N�Hr���)r-����unpackr/���)r0���r���r���r����u16n���s����zAttr.u16c�������������C���s���t�jd|�j�d�S�)N�hr���)r-���r=���r/���)r0���r���r���r����s16p���s����zAttr.s16c�������������C���s���t�jd|�j�d�S�)N�Ir���)r-���r=���r/���)r0���r���r���r����u32r���s����zAttr.u32c�������������C���s���t�jd|�j�d�S�)N�ir���)r-���r=���r/���)r0���r���r���r����s32t���s����zAttr.s32c�������������C���s���|�j�S�)N)r/���)r0���r���r���r����strv���s����zAttr.strc�������������C���s���|�j�jd�d�S�)N��r���)r/����split)r0���r���r���r����nulstrx���s����zAttr.nulstrc�������������C���s ���t�|�j�S�)N)�parse_attributesr/���)r0���r���r���r����nestedz���s����zAttr.nestedN) r���r���r���r3���r9���r;���r>���r@���rB���rD���rE���rH���rJ���r���r���r���r���r+���]���s���r+���c���������������@���s���e�Zd�Zdd��ZdS�)�StrAttrc�������������C���s"���t�j|�|dt|��|jd���d�S�)Nz%dszutf-8)r+���r3���r#����encode)r0���r1���r/���r���r���r���r3���~���s����zStrAttr.__init__N)r���r���r���r3���r���r���r���r���rK���}���s���rK���c���������������@���s���e�Zd�Zdd��ZdS�)� NulStrAttrc�������������C���s$���t�j|�|dt|��|jd�d��d�S�)Nz%dsBzutf-8r���)r+���r3���r#���rL���)r0���r1���r/���r���r���r���r3�������s����zNulStrAttr.__init__N)r���r���r���r3���r���r���r���r���rM�������s���rM���c���������������@���s���e�Zd�Zdd��ZdS�)�U32Attrc�������������C���s���t�j|�|d|��d�S�)NrA���)r+���r3���)r0���r1����valr���r���r���r3�������s����zU32Attr.__init__N)r���r���r���r3���r���r���r���r���rN�������s���rN���c���������������@���s���e�Zd�Zdd��ZdS�)�U8Attrc�������������C���s���t�j|�|d|��d�S�)N�B)r+���r3���)r0���r1���rO���r���r���r���r3�������s����zU8Attr.__init__N)r���r���r���r3���r���r���r���r���rP�������s���rP���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)�Nestedc�������������C���s���||�_�||�_d�S�)N)�attrsr,���)r0���r1���rS���r���r���r���r3�������s����zNested.__init__c�������������C���sP���g�}x|�j�D�]}|j|j����qW�dj|�}t|�}tjd|d�|�j�}||�S�)N��r4���r'���)rS����appendr9����joinr#���r-���r.���r,���)r0����contents�attrr8���r7���r���r���r���r9�������s���� zNested._dumpN)r���r���r���r3���r9���r���r���r���r���rR�������s���rR���������������� ���� ������������ �����������c���������������@���s&���e�Zd�Zddd�Zdd��Zdd ��ZdS�)�Messager���r���Nc�������������C���sb���||�_�||�_||�_d|�_|pg�}t|t�rXg�}x|D�]}|j|j����q4W�dj|�|�_ n||�_ d�S�)Nr�����������) r,����flags�seq�pid� isinstance�listrU���r9���rV����payload)r0����msg_typerf���rg���rk���rW���rX���r���r���r���r3�������s���� zMessage.__init__c�������������C���sZ���|�j�dkr|j���|�_�|j|�_t|�j�}tjd|d�|�j|�j|�j�|�j�}|j||�j���d�S�)Nr����IHHIIr'���re���r*���) rg���rh���r#���rk���r-���r.���r,���rf���r ���)r0���Zconnr8���r7���r���r���r���r �������s���� zMessage.sendc�������������C���s ���d|�j�|�j|�j|�jt|�j�f�S�)Nz:<netlink.Message type=%d, pid=%d, seq=%d, flags=0x%x "%s">)r,���rh���rg���rf���r:���rk���)r0���r���r���r���r;�������s����zMessage.__repr__re���)r���re���N)r���r���r���r3���r ���r;���r���r���r���r���rc�������s��� rc���c���������������@���s.���e�Zd�Zddd�Zdd��Zdd��Zd d ��ZdS�)� Connectionr���Nc�������������C���sn���t�j�t�jt�j|�|�_|�jjt�jt�jd��|�jjt�jt�jd��t|�jd|f��t |�j�\|�_ |�_d|�_||�_ d�S�)Ni���r���)r���r����SOCK_RAWr���Z setsockoptZ SOL_SOCKETZ SO_SNDBUFZ SO_RCVBUFr���r ���rh����groups�_seqZ unexpected)r0���Znltyperp���Zunexpected_msg_handlerr���r���r���r3�������s����zConnection.__init__c�������������C���s���t�|�j|��d�S�)N)r���r���)r0���r���r���r���r���r �������s����zConnection.sendc�������������C���s����t�|�j�\}\}}tjd|d�d���\}}}}}t||||dd����} || _| jtkr�tjd| jd�d���d��} | dkr�t dt j| �| f��}| |_|�| S�)Nrm���r*���rC���r'���r���zNetlink error: %s (%d)) r���r���r-���r=���rc���rh���r,����NLMSG_ERRORrk����OSErrorr����strerror�errno)r0���rW���ZnlpidZnlgrpsZmsglenrl���rf���rg���rh���r���ru����errr���r���r����recv����s���� zConnection.recvc�������������C���s���|��j�d7��_�|�j�S�)Nr���)rq���)r0���r���r���r���rg�������s����zConnection.seq)r���N)r���r���r���r3���r ���rw���rg���r���r���r���r���rn�������s��� rn���c�������������C���s`���i�}xVt�|��rZtjd|�d�d���\}}t||�d|���||<�|d�d�d@�}|�|d���}�qW�|S�)Nr4���r'���r���r)���r6���)r#���r-���r=���r+���)r/���rS���Zattr_lenr1���r���r���r���rI�������s���� rI���)r���r���)r ���)r ���)r ���)7�__doc__r���r���r-���r���ro���Z _dummysockr���r���r ���r���r����errorr����ImportErrorr���ZCDLLr ���Z Structurer���Z NLM_F_REQUESTZNLM_F_MULTIZ NLM_F_ACKZ NLM_F_ECHOZ NLMSG_NOOPrr���Z NLMSG_DONEZ NLMSG_OVERRUNZNLMSG_MIN_TYPEr+���rK���rM���rN���rP���rR���Z NETLINK_ROUTEZNETLINK_UNUSEDZNETLINK_USERSOCKZNETLINK_FIREWALLZNETLINK_INET_DIAGZ NETLINK_NFLOGZNETLINK_XFRMZNETLINK_SELINUXZ NETLINK_ISCSIZ NETLINK_AUDITZNETLINK_FIB_LOOKUPZNETLINK_CONNECTORZNETLINK_NETFILTERZNETLINK_IP6_FWZNETLINK_DNRTMSGZNETLINK_KOBJECT_UEVENTZNETLINK_GENERICrc���rn���rI���r���r���r���r����<module>���sz���