Repository URL to install this package:
|
Version:
1.0.9-1 ▾
|
wlanpi-profiler
/
opt
/
wlanpi-profiler
/
lib
/
python3.7
/
site-packages
/
scapy
/
__pycache__
/
sendrecv.cpython-37.pyc
|
|---|
B
ä£ »Oã @ s d Z ddlmZmZ ddlZddlmZmZ ddlZddl Z ddl
Z
ddlZddlZddl
mZ ddlmZ ddlmZ ddlmZ dd lmZmZmZ dd
lmZ ddlmZmZmZmZm Z ddl!m"Z"m#Z#m$Z$ dd
lm%Z%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3 ddl
m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= ddlm>Z> ddl!m?Z? ej@dkrddlAZBG dd dZCdZDe<e;e0 e0f ZEG dd deFZGdd ZHdPddZIdQd d!ZJejKjLdRd"d#ZMejKjLdSd$d%ZNejKjLdTd&d'ZOd(d) ZPejKjLdUd*d+ZQd,d- ZRejKjLdVd.d/ZSejKjLdddddefd0d1ZTejKjLd2d3 ZUx0eTeUeQeSgD ] ZVeVj dk r|eV j eD7 _ q|W d4d5 d6d5 d7dddd7fd8d9ZWejKjLd:d; ZXejKjLd<d= ZYdWd>d?ZZejKjLdXd@dAZ[ejKjLdYdBdCZ\ejKjLdZdDdEZ]ejKjLd[dFdGZ^G dHdI dIeFZ_ejKjLdJdK Z`e_j e`_ ejKjLd\dLdMZaejKjLdNdO ZbdS )]z(
Functions to send and receive packets.
é )Úabsolute_importÚprint_functionN)ÚThreadÚEvent)Ú plain_str)Ú ETH_P_ALL)Úconf)Úwarning)Únetwork_nameÚ
resolve_ifaceÚNetworkInterface)ÚPacket)Ú
get_temp_fileÚtcpdumpÚwrpcapÚContextManagerSubprocessÚ
PcapReader)Ú
PacketListÚQueryAnswerÚ
SndRcvList)Úlog_runtimeÚlog_interactiveÚScapy_Exception)ÚGenÚSetGen)Úsix)Úmap)ÚDefaultSession)ÚSuperSocketÚ
IterSocket)
ÚAnyÚCallableÚDictÚIteratorÚListÚOptionalÚTupleÚTypeÚUnionÚcast)Ú_GlobInterfaceType)Ú_PacketIterablec @ s. e Zd Zeg dZeg dZeg dZdZdS )ÚdebugÚReceivedÚSentÚMatchedN) Ú__name__Ú
__module__Ú__qualname__r ÚrecvÚsentr ÚmatchZ
crashed_on© r6 r6 ú/build/wlanpi-profiler-8o1rr4/wlanpi-profiler-1.0.9/debian/wlanpi-profiler/opt/wlanpi-profiler/lib/python3.7/site-packages/scapy/sendrecv.pyr, D s
r, a
:param pks: SuperSocket instance to send/receive packets
:param pkt: the packet to send
:param rcv_pks: if set, will be used instead of pks to receive packets.
packets will still be sent through pks
:param nofilter: put 1 to avoid use of BPF filters
:param retry: if positive, how many times to resend unanswered packets
if negative, how many times to retry when no more packets
are answered
:param timeout: how much time to wait after the last packet has been sent
:param verbose: set verbosity level
:param multi: whether to accept multiple answers for the same stimulus
:param prebuild: pre-build the packets before starting to send them.
Automatically enabled when a generator is passed as the packet
c @ s: e Zd ZdZdddZdd Zd d
Zdd Zd
d ZdS )Ú
SndRcvHandleraÝ
Util to send/receive packets, used by sr*().
Do not use directly.
This matches the requests and answers.
Notes::
- threaded mode: enabling threaded mode will likely
break packet timestamps, but might result in a speedup
when sending a big amount of packets. Disabled by default
- DEVS: store the outgoing timestamp right BEFORE sending the packet
to avoid races that could result in negative latency. We aren't Stadia
Nr Fc C s¢ |d krt j}t jr8tg dt_tg dt_tg dt_d| _ g | _
|| _| pP|| _|| _
|| _|| _|| _|| _|
| _|r|| _|d | _nLt|tjs|
r¶t|| _t| j| _n$t|tsÈt|n|| _| j ¡ | _|dk rî| }}nd}|d k r|dk rd | _xð|dkrüi | _|s*|rft| jd}| d¡ | !|j"¡ |r\|d | #¡ n| !| j¡ |rdd t$j%t& '| j¡ D }ntt$j%t& '| j¡ }|rØt|dkrØt|t| jkrØ|}|| _t| jdkrðP |d8 }qW t jr.t|d d
dt_t| j
d d
t_|rZx$| j
D ]\}}t(|d
r<|`)q<W |rt*d| j t| j
t| j
| jf t| j
| _+t|d| _,d S )
Nr- r. r/ r )ÚtargetTé c S s g | ]}t |d s|qS )Ú _answered)Úhasattr)Ú.0Úpr6 r6 r7 ú
<listcomp>À s z*SndRcvHandler.__init__.<locals>.<listcomp>r; z:
Received %i packets, got %i answers, remaining %i packetsZ
Unanswered)-r ÚverbÚdebug_matchr r, r3 r4 r r5 ÚnbrecvÚansÚpksÚrcv_pksÚinterÚverboseÚchainCCÚmultiÚtimeoutÚsessionÚtobesentÚnotansÚ
isinstanceÚtypesÚ
GeneratorTypeÚlistÚlenr r Ú__iterlen__Úhsentr Ú_sndrcv_sndÚ setDaemonÚ_sndrcv_rcvÚstartÚjoinÚ itertoolsÚchainr Ú
itervaluesr<