[27705] 2019-10-15_scapy之ap信息收集

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2019-10-15_scapy之ap信息收集 s c a p y a p   s y a b e r   O P P O   2 0 1 9 - 1 0 - 1 5   #     , 1 8 s y a b e r 稿 广 稿 O S R C 稿 ~ ~ 线 使 a i r c r a c k a i r o d u m p - n g a i r o d u m p - n g 使 线 2 . 4 G H z 5 G H z / k a l i u b u n t u 1 6 . 0 4 / 1 8 . 4 ( 使 u b u n t u 1 8 . 0 4 w i n d o w s m a c 线 使 w i n d o w s / m a c 线 ) 线 S c a p y s c a p y p y t h o n k a l i s c a p y 使 k a l i s c a p y s c a p y : a p 8 0 2 . 1 1 B e a c o n a p 便 B e a c o n B e a c o n B e a c o n 8 0 2 . 1 1 B e a c o n a p B e a c o n a p m a c s s i d w i f i w i f i 便 a p B e a c o n w i r e s h a r k B e a c o n : : ( i w c o n f i g ) B e a c o n t y p e 0 s u b t y p e 8 w i r e s h a r k B e a c o n : p i p   i n s t a l l   h t t p s : / / g i t h u b . c o m / s e c d e v / s c a p y / a r c h i v e / m a s t e r . z i p s u d o   a i r m o n - n g   s t a r t   w l x 7 0 f 1 1 c 1 f 9 1 0 8 s u d o   i f c o n f i g   w l a n 0 m o n   u p w l a n . f c . t y p e _ s u b t y p e = = 8 w l a n . f c . t y p e = = 0   a n d   w l a n . f c . s u b t y p e = = 8
B e a c o n : B e a c o n B e a c o n ( D e s t i n a t i o n   a d d r e s s ) 广 B e a c o n ( S o u r c e   a d d r e s s ) a p m a c 8 0 2 . 1 1 ( I E ) 8 0 2 . 1 1 : I D I D = 0 S S I D L e n g t h 0 ~ 0 x f f I n f o f f : f f : f f : f f : f f : f f 6 8 : a 0 : 3 e : * * : * * : * *
w i r e s h a r k B e a c o n : : T i m e s t a m p , B e a c o n   I n t e r v a l , C a p   i n f o a p B e a c o n f l a g S S I D : w i f i s s i d 3 2 8 0 2 . 1 1 2 5 5 s s i d C h a n n e l : a p 2 . 4 G h z 使 1 1 4 R S N :
8 0 2 . 1 1 i : : 8 0 2 . 1 x w i f i w i f i P S K a p 使 s c a p y 使 使 S c a p y 使 s c a p y : ' 0 ' : ' U s e   g r o u p   c i p h e r   s u i t e ' ' 1 ' : ' W E P - 4 0 ' ' 2 ' : ' T K I P ' ' 3 ' : ' R e s e r v e d ' ' 4 ' : ' C C M P ' ' 5 ' : ' W E P - 1 0 4 ' ' 0 ' : ' r e v e r s e d ' ' 1 ' : ' I E E E   8 0 2 . 1 X   /   P M K S A   c a c h i n g ' ' 2 ' : ' P S K ' f r o m   s c a p y . a l l   i m p o r t   * c l a s s   s n i f f e r ( ) : d e f   _ _ i n i t _ _ ( s e l f , i f a c e ) : s e l f . i f a c e = i f a c e s e l f . c i p h e r _ s u i t e s = { ' x 0 0 ' : ' U s e   g r o u p   c i p h e r   s u i t e ' , ' x 0 1 ' : ' W E P - 4 0 ' , ' x 0 2 ' : ' T K I P ' , ' x 0 3 ' : ' R e s e r v e d ' , ' x 0 4 ' : ' C C M P ' , ' x 0 5 ' : ' W E P - 1 0 4 ' } s e l f . a k m _ s u i t e s = { ' x 0 0 ' : ' r e v e r s e d ' , ' x 0 1 ' : ' 8 0 2 . 1 X ' , ' x 0 2 ' : ' P S K ' } s e l f . r u n ( ) d e f   P a c k e t H a n d l e r ( s e l f , p k t ) :                 a p _ m a c = p k t [ D o t 1 1 ] . a d d r 3 i f     a p _ m a c   n o t   i n   s e l f . a p :
s c a p y s n i f f t c p d u m p s n i f f t c p d u m p ( h t t p s : / / w w w . t c p d u m p . o r g / m a n p a g e s / p c a p - f i l t e r . 7 . h t m l ) b e a c o n s n i f f p r n p r n P a c k e t H a n d l e r B e a c o n s c a p y B e a c o n 使 p k t . s h o w ( ) B e a c o n l a y e r : i f     a p _ m a c   n o t   i n   s e l f . a p : s e l f . a p . a p p e n d ( a p _ m a c )                         p r i n t   " % s   |   b e a c o n " % a p _ m a c                         p k t . s h o w ( ) d e f   r u n ( s e l f ) :                 s n i f f ( i f a c e = s e l f . i f a c e , p r n = s e l f . P a c k e t H a n d l e r , f i l t e r = " t y p e   m g t   s u b t y p e   b e a c o n " ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         s n i f f e r ( ' w l a n 0 m o n ' ) f i l t e r = " t y p e   m g t   s u b t y p e   b e a c o n " d e f   P a c k e t H a n d l e r ( s e l f , p k t ) :         a p _ m a c = p k t [ D o t 1 1 ] . a d d r 3 i f     a p _ m a c   n o t   i n   s e l f . a p : s e l f . a p . a p p e n d ( a p _ m a c )                 p r i n t   " % s   |   b e a c o n " % a p _ m a c                 p k t . s h o w ( )
D o t 1 1 B e a c o n a d d r 3 B e a c o n s c a p y l a y e r : s c a p y m a c s s i d s c a p y l a y e r D o t 1 1 E l t D o t 1 1 E l t D o t 1 1 E l t : d e f   e x p a n d ( x ) : y i e l d   x w h i l e   x . p a y l o a d :                 x   =   x . p a y l o a d y i e l d   x p r i n t   l i s t ( e x p a n d ( p k t ) ) e l t = p k t [ D o t 1 1 E l t ] w h i l e   e l t . p a y l o a d :                                                                                         . . . . . . e l t = e l t . p a y l o a d
s s i d : : R S N s c a p y p a i r w i s e _ c i p h e r _ s u i t e s a k m _ s u i t e s : i f   e l t . I D = = 0 :   # s s i d         s s i d = e l t . i n f o e l i f   e l t . I D = = 3 :   # c h a n n e l         c h = o r d ( e l t . i n f o ) p k t . s h o w ( ) e l i f   e l t . I D = = 4 8 :   # c i p e r   a n d   a u t h c i p h e r _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . p a i r w i s e _ c i p h e r _ s u i t e s [ 0 ] ) [ - 1 : ] a k m _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . a k m _ s u i t e s [ 0 ] ) [ - 1 : ]
: : a k m _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . a k m _ s u i t e s [ 0 ] ) [ - 1 : ] c i p h e r = s e l f . c i p h e r _ s u i t e s [ c i p h e r _ t y p e ] a u t h = s e l f . a k m _ s u i t e s [ a k m _ t y p e ] f r o m   s c a p y . a l l   i m p o r t   * c l a s s   s n i f f e r ( ) : d e f   _ _ i n i t _ _ ( s e l f , i f a c e ) : s e l f . i f a c e = i f a c e s e l f . a p = [ ] s e l f . c i p h e r _ s u i t e s = { ' x 0 0 ' : ' U s e   g r o u p   c i p h e r   s u i t e ' , ' x 0 1 ' : ' W E P - 4 0 ' , ' x 0 2 ' : ' T K I P ' , ' x 0 3 ' : ' R e s e r v e d ' , ' x 0 4 ' : ' C C M P ' , ' x 0 5 ' : ' W E P - 1 0 4 ' } s e l f . a k m _ s u i t e s = { ' x 0 0 ' : ' r e v e r s e d ' , ' x 0 1 ' : ' 8 0 2 . 1 X ' , ' x 0 2 ' : ' P S K ' } s e l f . r u n ( ) d e f   p r o m t ( s e l f , a r g 1 , a r g 2 , a r g 3 , a r g 4 , a r g 5 ) : r e t u r n   " % 1 7 s % 3 0 s % 1 0 s % 1 0 s % 1 0 s " % ( a r g 1 , a r g 2 , a r g 3 , a r g 4 , a r g 5 ) d e f   P a c k e t H a n d l e r ( s e l f , p k t ) :                 a p _ m a c = p k t [ D o t 1 1 ] . a d d r 3 i f     a p _ m a c   n o t   i n   s e l f . a p :                         s s i d = N o n e                         c h = N o n e                         c i p h e r = N o n e                         a u t h = N o n e s e l f . a p . a p p e n d ( a p _ m a c )                         e l t = p k t [ D o t 1 1 E l t ] w h i l e   e l t . p a y l o a d : i f   e l t . I D = = 0 :   # s s i d                                         s s i d = e l t . i n f o                                 e l i f   e l t . I D = = 3 :   # c h a n n e l                                         c h = o r d ( e l t . i n f o )                                 e l i f   e l t . I D = = 4 8 :   # c i p e r   a n d   a u t h                                         c i p h e r _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . p a i r w i s e _ c i p h e r _ s u i t e s [ 0 ] ) [ - 1 : ]                                         a k m _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . a k m _ s u i t e s [ 0 ] ) [ - 1 : ]                                         c i p h e r = s e l f . c i p h e r _ s u i t e s [ c i p h e r _ t y p e ]                                         a u t h = s e l f . a k m _ s u i t e s [ a k m _ t y p e ]                                 e l t = e l t . p a y l o a d                                                 p r i n t   s e l f . p r o m t ( a p _ m a c , s s i d , c h , c i p h e r , a u t h ) d e f   r u n ( s e l f ) :                 p r i n t   s e l f . p r o m t ( ' m a c ' , ' s s i d ' , ' c h a n n e l ' , ' c i p h e r ' , ' a u t h ' )                 s n i f f ( i f a c e = s e l f . i f a c e , p r n = s e l f . P a c k e t H a n d l e r , f i l t e r = " t y p e   m g t   s u b t y p e   b e a c o n " ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         s n i f f e r ( ' w l a n 0 m o n ' )
  ( w i f i ) a p 使 线 0 . 5 : f r o m   s c a p y . a l l   i m p o r t   * f r o m   t h r e a d i n g   i m p o r t   T h r e a d i m p o r t   o s i m p o r t   t i m e d e f   c h a n g e _ c h ( i f a c e ) :         c h = 0 w h i l e   1 :                 c h + = 1                 c m d = " s u d o   i w c o n f i g   { i f a c e }   c h a n n e l   { c h a n n e l } " . f o r m a t ( i f a c e = i f a c e , c h a n n e l = ( c h % 1 4 + 1 ) )                 o s . s y s t e m ( c m d )                 t i m e . s l e e p ( 0 . 5 ) c l a s s   s n i f f e r ( ) : d e f   _ _ i n i t _ _ ( s e l f , i f a c e ) : s e l f . i f a c e = i f a c e s e l f . a p = [ ] s e l f . c i p h e r _ s u i t e s = { ' x 0 0 ' : ' U s e   g r o u p   c i p h e r   s u i t e ' , ' x 0 1 ' : ' W E P - 4 0 ' , ' x 0 2 ' : ' T K I P ' , ' x 0 3 ' : ' R e s e r v e d ' , ' x 0 4 ' : ' C C M P ' , ' x 0 5 ' : ' W E P - 1 0 4 ' } s e l f . a k m _ s u i t e s = { ' x 0 0 ' : ' r e v e r s e d ' , ' x 0 1 ' : ' 8 0 2 . 1 X ' , ' x 0 2 ' : ' P S K ' } s e l f . r u n ( ) d e f   p r o m t ( s e l f , a r g 1 , a r g 2 , a r g 3 , a r g 4 , a r g 5 ) : r e t u r n   " % 1 7 s % 3 0 s % 1 0 s % 1 0 s % 1 0 s " % ( a r g 1 , a r g 2 , a r g 3 , a r g 4 , a r g 5 ) d e f   P a c k e t H a n d l e r ( s e l f , p k t ) :                 a p _ m a c = p k t [ D o t 1 1 ] . a d d r 3 i f     a p _ m a c   n o t   i n   s e l f . a p :                         s s i d = N o n e                         c h = N o n e                         c i p h e r = N o n e                         a u t h = N o n e s e l f . a p . a p p e n d ( a p _ m a c )                         e l t = p k t [ D o t 1 1 E l t ] w h i l e   e l t . p a y l o a d : i f   e l t . I D = = 0 :   # s s i d                                         s s i d = e l t . i n f o                                 e l i f   e l t . I D = = 3 :   # c h a n n e l                                         c h = o r d ( e l t . i n f o )                                 e l i f   e l t . I D = = 4 8 :   # c i p e r   a n d   a u t h                                         c i p h e r _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . p a i r w i s e _ c i p h e r _ s u i t e s [ 0 ] ) [ - 1 : ]
                                        c i p h e r _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . p a i r w i s e _ c i p h e r _ s u i t e s [ 0 ] ) [ - 1 : ]                                         a k m _ t y p e = s t r ( e l t [ D o t 1 1 E l t R S N ] . a k m _ s u i t e s [ 0 ] ) [ - 1 : ]                                         c i p h e r = s e l f . c i p h e r _ s u i t e s [ c i p h e r _ t y p e ]                                         a u t h = s e l f . a k m _ s u i t e s [ a k m _ t y p e ]                                 e l t = e l t . p a y l o a d                                                 p r i n t   s e l f . p r o m t ( a p _ m a c , s s i d , c h , c i p h e r , a u t h ) d e f   r u n ( s e l f ) :                 p r i n t   s e l f . p r o m t ( ' m a c ' , ' s s i d ' , ' c h a n n e l ' , ' c i p h e r ' , ' a u t h ' )                 s n i f f ( i f a c e = s e l f . i f a c e , p r n = s e l f . P a c k e t H a n d l e r , f i l t e r = " t y p e   m g t   s u b t y p e   b e a c o n " ) i f   _ _ n a m e _ _ = = " _ _ m a i n _ _ " :         t 1 = T h r e a d ( t a r g e t = c h a n g e _ c h , a r g s = ( ' w l a n 0 m o n ' , ) )         t 1 . d a e m o n = T r u e         t 1 . s t a r t ( )         t 2 = T h r e a d ( t a r g e t = s n i f f e r , a r g s = ( ' w l a n 0 m o n ' , ) )         t 2 . s t a r t ( )         t 2 . j o i n ( )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则