[11026] 2017-02-14_我的日志分析之道简单的Web日志分析脚本

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2017-02-14_我的日志分析之道简单的Web日志分析脚本   |   W e b   F r e e B u f   2 0 1 7 - 0 2 - 1 4 @ F r e e B u f         w i n d o w s i i s g i t h u b 1 .   u r l u r l a p t 2 .   i p 0 d a y = = i p 3 .   访 访 w a f w a f h t t p s : / / g i t h u b . c o m / l o v e s h e l l / n g x _ l u a _ w a f / t r e e / m a s t e r / w a f c o n f h t t p s : / / g i t h u b . c o m / s m a r t t a n g / w 3 a _ S O C D d a t a b a s e h t t p s : / / g i t h u b . c o m / s m a r t t a n g / w 3 a _ S O C / t r e e / m a s t e r / d b _ s q l S q l p y t h o n p y t h o n i c u r l . p y a t t a c . p y   i p i p f i n d . p y u r l . p y i m p o r t   r e i m p o r t   o s i m p o r t   s y s f r o m   d a t e t i m e   i m p o r t   d a t e t i m e d t   =   d a t e t i m e . n o w ( ) d a t e   =   s t r ( d t . d a t e ( ) ) l o g l i s t   =   [ ]       #       i p l i s t   =   [ ]         #       i p u r l l i s t   =   [ ]       #         u r l n e e d l i s t   =   [ ]       #         e r r o r l i s t   =   [ ]       #         i p d i c t , u r l d i c t   =   { } , { }     r i z h i   =   s t r ( i n p u t ( ' ' ) ) d e f   f i n d _ l o g ( ) :         p r i n t ( ' > > > > > > > ' )         w i t h   o p e n ( r i z h i , ' r ' , e n c o d i n g = ' U T F - 8 ' , e r r o r s = ' i g n o r e ' )   a s   f :
                # l o g l i s t   =   f . r e a d l i n e s ( )                 f o r   i   i n   f . r e a d l i n e s ( ) :       #                         i f   i [ 0 ]   ! =   ' # ' :                                 b   =   r e . s p l i t ( '   ' , i )                                 i p l i s t . a p p e n d ( b [ 1 0 ] )                                 u r l l i s t . a p p e n d ( b [ 6 ] )                                 t r y :                                         n e e d l i s t . a p p e n d ( [ b [ 1 0 ] , b [ 1 ] , b [ 5 ] , b [ 6 ] , b [ 1 5 ] ] )                                 e x c e p t :                                         e r r o r l i s t . a p p e n d ( i )         p r i n t ( ' > > > > > > > ' ) d e f   c o u n t ( i p l i s t , u r l l i s t ) :         # i p   u r l 访         p r i n t ( ' > > > > > > > u r l i p 访 ' )         g l o b a l   i p d i c t , u r l d i c t         f o r   i   i n   s e t ( i p l i s t ) :                 i p d i c t [ i ]   =   i p l i s t . c o u n t ( i )         f o r   i   i n   s e t ( u r l l i s t ) :                 u r l d i c t [ i ]   =   u r l l i s t . c o u n t ( i )         i p d i c t   =   s o r t e d ( i p d i c t . i t e m s ( ) , k e y = l a m b d a   d :   d [ 1 ] ,   r e v e r s e = T r u e )                 u r l d i c t   =   s o r t e d ( u r l d i c t . i t e m s ( ) , k e y = l a m b d a   d :   d [ 1 ] ,   r e v e r s e = T r u e )         p r i n t ( t y p e ( u r l d i c t ) )         i p l i s t   =   l i s t ( i p d i c t )         u r l l i s t   =   l i s t ( u r l d i c t )         i p d i c t , u r l d i c t   =   { } , { }         p r i n t ( ' > > > > > u r l i p . . . . . . . ' )         r e t u r n   [ i p l i s t , u r l l i s t ] d e f   s a v e _ c o u n t ( ) :         p r i n t ( ' > > > > > > > ' )         i p n a m e   =   ' i p - ' + d a t e + ' . t x t '         u r l n a m e   =   ' u r l - ' + d a t e + ' . t x t '         w i t h   o p e n ( i p n a m e , ' w ' )   a s   f :                 f o r   i   i n   i p l i s t :                         f . w r i t e ( s t r ( l i s t ( i ) ) + ' n ' )         w i t h   o p e n ( u r l n a m e , ' w ' )   a s   f :                 f o r   i   i n   u r l l i s t :                         f . w r i t e ( s t r ( l i s t ( i ) ) + ' n ' )         p r i n t ( ' > > > > > > > ' ) f i n d _ l o g ( ) [ i p l i s t , u r l l i s t ]   =   c o u n t ( i p l i s t , u r l l i s t )
i i s a p a c h e I i s p y t h o n r e a d l i n e s u r l . p y i p 访 u r l 访 = . = i p a t t a c k . p y s a v e _ c o u n t ( ) i m p o r t   o s i m p o r t   s y s i m p o r t   u r l s q l l i s t , x s s l i s t , s e n l i s t   =   [ ] , [ ] , [ ] o t h e r u r l , x s s i p , s q l i p , s e n i p   =   [ ] , [ ] , [ ] , [ ] f e i f a   =   [ ]   d e f   f i n d _ a t t a c k ( n e e d l i s t ) :         p r i n t ( ' > > > > > > > ' )         s q l   =   r ' p r o d u c t . p h p | p r e g _ w + | e x e c u t e | e c h o | p r i n t | p r i n t _ r | v a r _ d u m p | ( f p ) o p e n | ^ e v a l $ | f i l e _ g e t _ c o n t e n t s | i n c l u d e | r e q u i r e | r e q u i r e _ o n c e | s h e l l _ e x e c | p h p i n f o | s y s t e m | p a s s t h r u | ( ? : d e f i n e | b a s e 6 4 _ d e c o d e ( | g r o u p s + b y . + ( | % 2 0 o r % 2 0 | % 2 0 a n d % 2 0 | s l e e p | d e l a y | n v a r c h a r | e x e c | u n i o n | ^ s e l e c t $ | v e r s i o n | i n s e r t | i n f o r m a t i o n _ s c h e m a | c h r ( | c o n c a t | % b f | s l e e p ( ( s * ) ( d * ) ( s * ) ) | c u r r e n t | h a v i n g | d a t a b a s e '         x s s   =   r ' a l e r t | ^ s c r i p t $ | < | > | % 3 E | % 3 c | & # x 3 E | u 0 0 3 c | u 0 0 3 e | & # x '         s e n   =   r ' . { 2 , } | % 2 e { 2 , } | % 2 5 2 e { 2 , } | % u f f 0 e { 2 , } 0 x 2 e { 2 , } | . / | { F I L E } | % 0 0 + | j s o n | . s h t m l | . p l | . s h | . d o | . a c t i o n | z a b b i x | p h p i n f o | / v a r / | / o p t / | / l o c a l / | / e t c | / a p a c h e / | . l o g | i n v e s t b | . x m l | a p p l e - t o u c h - i c o n - 1 5 2 x 1 5 2 | . z i p | . r a r | . a s p b | . p h p | . b a k | . t a r . g z | b p h p m y a d m i n b | a d m i n | . e x e | . 7 z | . z i p | b a t t a c h m e n t s b | b u p i m g b | u p l o a d f i l e s | t e m p l e t s | t e m p l a t e | d a t a b | f o r u m d a t a | i n c l u d e s | c a c h e | j m x i n v o k e r s e r v l e t | v h o s t | b b s | h o s t | w w w r o o t | b s i t e b | r o o t | h y t o p | f l a s h f x p | b a k | o l d | m d b | s q l | b a c k u p | ^ j a v a $ | c l a s s '               f o r   i   i n   n e e d l i s t :                 i f   i [ 2 ]   = =   ' P O S T '   o r   i [ 2 ]   = =   ' H E A D '   o r   i [ 2 ]   = =   ' G E T ' :                         r e s p o n s e   =   r e . f i n d a l l ( s q l , i [ 3 ] , r e . I )                         i f   r e s p o n s e   = =   [ ] :                                 r e s p o n s e x s s   =   r e . f i n d a l l ( x s s , i [ 3 ] , r e . I )                                 i f   r e s p o n s e x s s   = =   [ ] :                                         r e s p o n s e s e n   =   r e . f i n d a l l ( s e n , i [ 3 ] , r e . I )                                         i f   r e s p o n s e s e n   = =   [ ] :                                                 o t h e r u r l . a p p e n d ( i )                                         e l s e :                                                 s e n l i s t . a p p e n d ( i )                                                 s e n i p . a p p e n d ( i [ 0 ] )                                                 p r i n t ( r e s p o n s e s e n )
i p u r l I P i p f i n d . p y I p f i n d . p y i p                                                 p r i n t ( ' ' )                                                 p r i n t ( i )                                 e l s e :                                         x s s l i s t . a p p e n d ( i )                                         x s s i p . a p p e n d ( i [ 0 ] )                                         p r i n t ( r e s p o n s e x s s )                                         p r i n t ( ' x s s ' )                                         p r i n t ( i )                         e l s e :                                 s q l l i s t . a p p e n d ( i )                                 s q l i p . a p p e n d ( i [ 0 ] )                                 p r i n t ( r e s p o n s e x s s )                                 p r i n t ( ' s q l ' )                                 p r i n t ( i )                 e l s e :                         f e i f a . a p p e n d ( i [ 0 ] )         p r i n t ( ' : ' + s t r ( l e n ( f e i f a ) ) + ' ' + s t r ( l e n ( l i s t ( s e t ( f e i f a ) ) ) ) + ' i p ' )         p r i n t ( ' > > > > > > > ' )         r e t u r n   [ x s s i p , s q l i p , s e n i p , s q l l i s t , x s s l i s t , s e n l i s t , o t h e r u r l ]    
i p 1 3 8 ( a p i a p i ) m a i n . p y i m p o r t   r e i m p o r t   u r l l i b . r e q u e s t d e f   u r l _ o p e n ( i p ) :         u r l   =   ' h t t p : / / w w w . i p 1 3 8 . c o m / i p s 1 3 8 . a s p ? i p = ' + i p         r e s p o n s e   =   u r l l i b . r e q u e s t . u r l o p e n ( u r l )         h t m l   =   r e s p o n s e . r e a d ( ) . d e c o d e ( ' g b 2 3 1 2 ' )         r e t u r n   h t m l d e f   f i n d _ i p ( h t m l ) :         a   =   r ' . { 2 0 , } < / l i > '         p   =   r e . c o m p i l e ( a , r e . I )         r e s p o n s e   =   r e . f i n d a l l ( p , h t m l )         f o r   i   i n   r e s p o n s e :                 b   =   i         r e s p o n s e   =   r e . s p l i t ( r ' < / l i > < l i > ' , b )         i p a d d r s   =   s t r ( r e s p o n s e [ 0 ] [ 5 : ] ) + ' , ' + s t r ( r e s p o n s e [ 1 ] [ 6 : ] ) + ' , ' + s t r ( r e s p o n s e [ 2 ] [ 6 : - 5 ] )         r e t u r n   i p a d d r s d e f   f i n d _ i p a d d r s ( i p ) :                 h t m l   =   u r l _ o p e n ( i p )         i p a d d r s   =   f i n d _ i p ( h t m l )         p r i n t ( i p + '   :   ' + i p a d d r s )      
m a i n . p y   3 p o s t d a t a d a t a h t t p s w a f w a f i p u r l i m p o r t   r e i m p o r t   o s i m p o r t   s y s f r o m   d a t e t i m e   i m p o r t   d a t e t i m e i m p o r t   u r l i m p o r t   a t t a c k i m p o r t   i p f i n d n e e d l i s t   =   u r l . n e e d l i s t s q l l i s t , x s s l i s t , s e n l i s t   =   [ ] , [ ] , [ ] o t h e r u r l , i p l i s t   =   [ ] , [ ] [ x s s i p , s q l i p , s e n i p , s q l l i s t , x s s l i s t , s e n l i s t , o t h e r u r l ] = a t t a c k . f i n d _ a t t a c k ( n e e d l i s t ) x s s i p   =   l i s t ( s e t ( x s s i p ) ) s q l i p   =   l i s t ( s e t ( s q l i p ) ) s e n i p   =   l i s t ( s e t ( s e n i p ) ) p r i n t ( ' > > > > > > > x s s ' + s t r ( l e n ( x s s l i s t ) ) + ' ' + ' ' + s t r ( l e n ( x s s i p ) ) + ' i p ' ) p r i n t ( x s s i p ) p r i n t ( ' > > > > > > > s q l ' + s t r ( l e n ( s q l l i s t ) ) + ' ' + ' ' + s t r ( l e n ( s q l i p ) ) + ' i p ' ) p r i n t ( s q l i p ) p r i n t ( ' > > > > > > > ' + s t r ( l e n ( s e n l i s t ) ) + ' ' + ' ' + s t r ( l e n ( s e n i p ) ) + ' i p ' ) p r i n t ( s e n i p ) i p l i s t   =   l i s t ( s e t ( x s s i p + s q l i p + s e n i p ) ) p r i n t ( l e n ( i p l i s t ) ) p r i n t ( ' i p ' ) f o r   i   i n   i p l i s t :         i p f i n d . f i n d _ i p a d d r s ( s t r ( i ) )
0 d a y w a f i f , e l s e u s e r - a g e n t u s e r - a g e n t i p 便 西 u r l i p i p d j a n g o @ F r e e B u f

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则