[20670] 2021-08-16_Nmap结果处理小工具

文档创建者:s7ckTeam
浏览次数:6
最后更新:2025-01-18
2021-08-16_Nmap结果处理小工具 N m a p   Y 1 S h u i   K h a n   2 0 2 1 - 0 8 - 1 6               p y t h o n x m l 线                 n m a p p y t h o n 线 n m a p c s v               h t t p s : / / g i t h u b . c o m / m s f i s g o o d / N m a p _ t o o l s /                 n m a p t i t l e - - s c r i p t = h t t p - t i t l e i m p o r t   c s v i m p o r t   t i m e i m p o r t   s y s i m p o r t   r e q u e s t s i m p o r t   d a t e t i m e i m p o r t   t h r e a d i n g i m p o r t   t h r e a d p o o l f r o m   b s 4   i m p o r t   B e a u t i f u l S o u p   a s   b s f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g
f r o m   r e q u e s t s . p a c k a g e s . u r l l i b 3 . e x c e p t i o n s   i m p o r t   I n s e c u r e R e q u e s t W a r n i n g t r y :         i m p o r t   x m l . e t r e e . c E l e m e n t T r e e   a s   E T e x c e p t   I m p o r t E r r o r :         i m p o r t   x m l . e t r e e . E l e m e n t T r e e   a s   E T r e q u e s t s . p a c k a g e s . u r l l i b 3 . d i s a b l e _ w a r n i n g s ( I n s e c u r e R e q u e s t W a r n i n g ) T i m e   =   d a t e t i m e . d a t e t i m e . n o w ( ) . s t r f t i m e ( ' % Y - % m - % d ' ) # p r i n t ( T i m e ) C O D E   =   [ ] d e f   G e t F i l e ( p a t h ) :     #           t r y :                 t r e e   =   E T . p a r s e ( p a t h )                 r o o t   =   t r e e . g e t r o o t ( )                 # p r i n t ( r o o t . t a g )                 #   p r i n t ( I t e m )         e x c e p t   E x c e p t i o n   a s   e :                 p r i n t ( e )                 r e t u r n   { }         p o r t s   =   [ ]         f o r   h o s t   i n   r o o t . f i n d a l l ( ' h o s t ' ) :                                 i f   h o s t . f i n d ( ' s t a t u s ' ) . g e t ( ' s t a t e ' )   = =   ' d o w n ' :                         c o n t i n u e                 # p r i n t ( h o s t )                 a d d r e s s   =   h o s t . f i n d ( ' a d d r e s s ' ) . g e t ( ' a d d r ' , N o n e )                 # p r i n t ( a d d r e s s )                 i f   n o t   a d d r e s s :                         c o n t i n u e                                                 f o r   p o r t   i n   h o s t . i t e r ( ' p o r t ' ) :                         s t a t e   =   p o r t . f i n d ( ' s t a t e ' ) . g e t ( ' s t a t e ' , ' ' )                         p o r t i d   =   p o r t . g e t ( ' p o r t i d ' , N o n e )                         s e r v   =   p o r t . f i n d ( ' s e r v i c e ' )                         s e r v   =   s e r v . g e t ( ' n a m e ' )                         i f   s e r v   = =   " " :                                 s e r v   = =   " "                         # p r i n t ( s t a t e , p o r t i d , s e r v )                         p o r t s . a p p e n d ( { ' I P ' : a d d r e s s , ' P O R T ' : p o r t i d , ' S T A T U S ' : s t a t e , ' S E R V I C E ' : s e r v } )         r e t u r n ( p o r t s )                           d e f   M k d i r F i l e ( D a t e _ l i s t ) :         w i t h   o p e n ( T i m e + ' . c s v ' , ' w ' , n e w l i n e = ' ' )   a s   c s v f :                 f i e l d n a m e s   =   [ ' I P ' , ' P O R T ' , ' S T A T U S ' , ' S E R V I C E ' , ' U R L ' , ' C O D E ' , ' T I T L E ' ]                 w r i t e r   =   c s v . D i c t W r i t e r ( c s v f , f i e l d n a m e s = f i e l d n a m e s )                 w r i t e r . w r i t e h e a d e r ( )                 w r i t e r . w r i t e r o w s ( D a t e _ l i s t )                 p r i n t ( " " ) d e f   G e t T i t l e ( u r l ) :           M y U a   =   " M o z i l l a / 5 . 0   ( W i n d o w s   N T   1 0 . 0 ;   W i n 6 4 ;   x 6 4 )   A p p l e W e b K i t / 5 3 7 . 3 6   ( K H T M L ,   l i k e   G e c k o )   C h r o m e / 8 8 . 0 . 4 3 2 4 . 1 5 0   S a f a r i / 5 3 7 . 3 6 "               t r y :                 h e a d e r s   =   { ' U s e r - A g e n t ' :   M y U a , ' C o n n e c t i o n ' :   ' c l o s e ' }                 r   =   r e q u e s t s . g e t ( u r l = u r l ,   v e r i f y = F a l s e ,   h e a d e r s = h e a d e r s ,   t i m e o u t = 5 )                 s o u p   =   b s ( r . t e x t . e n c o d e ( ' u t f - 8 ' ) ,   ' h t m l . p a r s e r ' )                 t i t l e   =   s o u p . f i n d ( ' t i t l e ' ) . t e x t                 # p r i n t ( r . s t a t u s _ c o d e )                 c o d e   =   r . s t a t u s _ c o d e                 i f   c o d e   ! =   4 0 0   a n d   s o u p   ! =   " " :                         p r i n t ( u r l   +   "   - - - - - -   W e b   - - - - - -   t i t l e : "   +   t i t l e )
                        C O D E . a p p e n d ( { ' U R L ' : u r l , ' C O D E ' : c o d e , ' T I T L E ' : t i t l e } )                         r e t u r n ( C O D E )                 e l i f   c o d e   = =   4 0 0 :                         u r l 2   =   " h t t p s : / / " + u r l . s t r i p ( ' h t t p : / / ' )                         h e a d e r s   =   { ' U s e r - A g e n t ' :   M y U a , ' C o n n e c t i o n ' :   ' c l o s e ' }                         r   =   r e q u e s t s . g e t ( u r l = u r l 2 ,   v e r i f y = F a l s e ,   h e a d e r s = h e a d e r s ,   t i m e o u t = 5 )                         c o d e   =   r . s t a t u s _ c o d e                         s o u p   =   b s ( r . t e x t . e n c o d e ( ' u t f - 8 ' ) ,   ' h t m l . p a r s e r ' )                         t i t l e   =   s o u p . f i n d ( ' t i t l e ' ) . t e x t                         p r i n t ( u r l 2   +   "   - - - - - -   W e b   - - - - - -   t i t l e : "   +   t i t l e )                         C O D E . a p p e n d ( { ' U R L ' : u r l 2 , ' C O D E ' : c o d e , ' T I T L E ' : t i t l e } )                         r e t u r n ( C O D E )                 e l s e :                         C O D E . a p p e n d ( { ' U R L ' : u r l , ' C O D E ' : c o d e , ' T I T L E ' : t i t l e } )                         r e t u r n ( C O D E )                                 e x c e p t :                 t i t l e   =   " N e t w o r k   E r r o r ! "                 c o d e   =   ' '                 C O D E . a p p e n d ( { ' U R L ' : u r l , ' C O D E ' : c o d e , ' T I T L E ' : t i t l e } )                 p r i n t ( u r l + "   - - - - - -   " + " " + "   - - - - - -   N e t w o r k   E r r o r ! " )                 r e t u r n ( C O D E ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         i f   l e n ( s y s . a r g v )   ! =   3 :                         p r i n t ( " - - - - - - - - - - - - - - - - U S E A G E : p y t h o n 3   n m a p _ t o o l s   p a t h   t h r e a d s - - - - - - - - - - - - - - - - - " )                         p r i n t ( " - - - - - - - - - - - - - - - - e x a m p l e : p y t h o n 3   n m a p _ t o o l s   1 . x m l   1 0 - - - - - - - - - - - - - - - - - - - - " )                         s y s . e x i t ( )         p a t h   =   s y s . a r g v [ 1 ]         s t a r t _ t i m e   =   t i m e . t i m e ( )         T   =   i n t ( s y s . a r g v [ 2 ] )         M y U r l   =   G e t F i l e ( p a t h )         u r l   =   [ ]         f o r   u   i n   M y U r l :                 a   =   u [ ' I P ' ]                 b   =   u [ ' P O R T ' ]                 c   =   u [ ' S T A T U S ' ]                 d   =   u [ ' S E R V I C E ' ]                 u r l . a p p e n d ( " h t t p : / / " + a + " : " + b )         # p r i n t ( u r l )               p o o l   =   t h r e a d p o o l . T h r e a d P o o l ( T )         t h r e a d i n g   =   t h r e a d p o o l . m a k e R e q u e s t s ( G e t T i t l e , u r l )         [ p o o l . p u t R e q u e s t ( r e q )   f o r   r e q   i n   t h r e a d i n g ]         p o o l . w a i t ( )         N   =   0         f o r   d   i n   M y U r l :         # p r i n t ( d )                 k e y 1   =   ' U R L '                 k e y 2   =   ' C O D E '                 k e y 3   =   ' T I T L E '                 c 1   =   C O D E [ N ] [ ' U R L ' ]                 c 2   =   C O D E [ N ] [ ' C O D E ' ]                 c 3   =   C O D E [ N ] [ ' T I T L E ' ]                 # p r i n t ( c 1 , c 2 )                 d [ k e y 1 ]   =   c 1                 d [ k e y 2 ]   =   c 2                 d [ k e y 3 ]   =   c 3                 N   + =   1
                N   + =   1         # p r i n t ( M y U r l )         M k d i r F i l e ( M y U r l )         p r i n t ( " : % s   s e c o n d " % ( t i m e . t i m e ( )   -   s t a r t _ t i m e )   )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则