Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
B

Tþ")EÕIã@sþdZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
m
Z
ddlmZddlm
Z
ddlZddlmZddlmZdd	lmZdd
lmZddlmZmZgZe de ¡f¡eƒZd
d„Zdd„Zedœdd„Z ej!dœdd„Z"dS)z4
profiler.manager
~~~~~~~~~~~~~~~~

handle profiler
éN)Údatetime)ÚQueue)Úsleep)Úrdpcapé)Úhelpers)Ú__version__)Ú_20MHZ_FREQUENCY_CHANNEL_MAP)Ú	InterfaceÚInterfaceErrorÚmaincCs>tjr:tjs:t t ¡dd¡}| d¡t ¡dt_dS)z#Remove the vif we created if existsrézRemoving monitor vif ...TN)	Ú__IFACEÚrequires_vifÚremovedÚloggingÚ	getLoggerÚinspectÚstackÚdebugZreset_interface)Úlog©rú/build/wlanpi-profiler-7IIg1Q/wlanpi-profiler-1.0.11/debian/wlanpi-profiler/opt/wlanpi-profiler/lib/python3.7/site-packages/profiler/manager.pyÚ	removeVif,s

rcCsP|dkrLx8tD]0\}}|dkrt ¡|krtdƒtjrtƒqWt d¡dS)zHandle noisy keyboardinterruptérz Detected SIGINT or Control-C ...N)	Ú__PIDSÚosÚgetpidÚprintrrrÚsysÚexit)ÚsignumZ_frameÚnameÚpidrrrÚ
receiveSignal5s
r$)ÚreturncCst ¡dkrdSdSdS)zDo we have root permissions?rTFN)rÚgeteuidrrrrÚare_we_rootAsr')Úargsc	Csòt t ¡dd¡}|jr&t d¡tƒs@| d¡t d¡t	 
|¡| dt 
d¡dt¡| dt ¡¡d	}ytj}| d
|¡Wn*tk
r¶| d¡| d|¡YnX|jrÚt	 ¡rÐt d¡nt d¡t	 |¡}|jr$|jr$tj |d
 d¡d¡}t	 ||j¡t d¡|jr\tj |d
 d¡d¡}t	 ||j¡t d¡|jrvt  !¡t d¡t" "t"j#t$¡g}g}t%ƒ}| d
¡ d¡}	t &¡}
| dt|
¡|	rV| 'd¡t	 (|¡yt)|	ƒ}Wn4t*k
r| d|	¡t+dƒt d¡YnXx<|D]4}| ,tj-j.j/¡sB| ,tj-j.j0¡r| 1|¡qWnÐt	 2|¡rp| d|¡n| d¡t d¡| d
¡ d¡}
ddl3m4}m5}t6 7¡ 8¡}t9 :¡}t9 ;dd¡}| d
¡ d¡}|t _<y\|j=rD| >d¡dt _=t  ?¡t j@|d
d<t jAr"t jA|d
d <t jBr8t jB|d
d!<| d"¡nòtC| d
¡ d ¡ƒ}tC| d
¡ d!¡ƒ}|dkr¦x.tD E¡D]"\}}||kr€|t _B|t _APq€W|dkrÜtD |d¡t _At jAdkrÒ|t _Bn
tFd#|ƒ‚t jA|d
d <t jB|d
d!<t  ?¡t j@|d
d<t jGr$t jH|d
d<t  I¡| d$¡Wn.tFk
rf|jd%dd&t d¡YnXt	 J|¡|
r„| >d'¡nZ| d(¡t	 K| d
¡ d)¡¡t9jLd*|||||fd+}| M|¡| N¡tO Md*|jPf¡| d,¡t9jLd-|||||||fd+}| M|¡| N¡tO Md-|jPf¡dd.lQmR}| d/¡t9jLd0|||fd+}| M|¡| N¡tO Md0|jPf¡d1}xv|rìtSd2ƒx`|D]X}|rž| T¡|jUd3k	rŒt jGrÀt jVsÀtWƒ| |¡| X|¡| M|¡d}qŒWqxWd3S)4z
Begin workrr
Úpytestz8profiler must be run with root permissions... exiting...éÿÿÿÿz
%s version %sÚ.zpython platform version is %sÚzscapy version is %sz8could not get version information from scapy.__version__zargs: %sZGENERALZ
files_pathZclientsZreportsÚ
pcap_analysisz	%s pid %szHnot starting beacon or sniffer because user requested pcap file analysiszcould not find file %sz
exiting...z	config %sz-configuration validation failed... exiting...Úlisten_onlyr)ÚSnifferÚ	TxBeaconsÚiÚ	interfacezXuser provided `--noprep` argument meaning profiler will not handle staging the interfaceTÚmacÚchannelÚ	frequencyz*finish interface setup with no staging ...z/could not determine channel from frequency (%s)z&finish interface setup and staging ...z)problem interface staging ... exiting ...)Úexc_infozBbeacon process not started because user requested listen only modezbeacon processZssidÚ	txbeacons)r"Útargetr(zsniffer processÚsniffer)ÚProfilerzprofiler processÚprofilerFgš™™™™™¹?N)Yrrrrr)rr r'ÚerrorrZsetup_loggerrÚ__name__ÚsplitrÚplatformÚpython_versionÚscapyÚAttributeErrorÚ	exceptionZ
oui_updateZupdate_manufZsetup_configÚcleanÚfilesrÚpathÚjoinÚgetZ
files_cleanupÚyesZlist_interfacesrZprint_interface_informationÚsignalÚSIGINTr$rrÚinfoZverify_reporting_directoriesrÚFileNotFoundErrorrZhaslayerZlayersZdot11ZDot11AssoReqZDot11ReassoReqÚputÚvalidateZfakeapr/r0rÚnowÚ	timestampÚmpÚLockÚValuer"Zno_interface_prepÚwarningÚsetupr3r4r5Úintr	ÚitemsrrÚmonZstage_interfaceZgenerate_run_messageZupdate_ssid_recordÚProcessÚappendÚstartrr#r;r:rÚkillÚexitcoderrÚremove)r(rZ
scapy_versionÚconfigZclients_dirZreports_dirZ	processesZfinished_processesÚqueuer-Z
parent_pidÚframesÚframer.r/r0Z	boot_timeÚlockZsequence_numberZ
iface_namer4ÚfreqÚchr7r9r:r;ÚshutdownÚprocessrrrr\Is


























r\)#Ú__doc__ÚargparserrÚmultiprocessingrRrr?rJrrrÚtimerrAZ	scapy.allrr,rrÚ	constantsr	r2r
rrr[rrrr$Úboolr'Ú	Namespacer\rrrrÚ<module>s0