[28374] 2020-06-27_使用PythonScapy制作一款网络扫描器

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-19
2020-06-27_使用PythonScapy制作一款网络扫描器 使 P y t h o n   S c a p y O t s   2 0 2 0 - 0 6 - 2 7 A R P 使 P y t h o n S c a p y S c a p y   s c a p y 使 p y t h o n   2 . 7 使 使 A R P s c a p y A R P A R P I P   1 9 2 . 1 6 8 . 1 . 1 I P   1 9 2 . 1 6 8 . 1 . 1 M A C 使 广 I P M A C A R P f r o m f r o m   s c a p y   s c a p y . . a l l a l l     i m p o r t i m p o r t   A R P   A R P , ,   E t h e r   E t h e r , ,   s r p   s r p
I P   /   2 4   /   1 6 I P   1 9 2 . 1 6 8 . 1 . 1 / 2 4   1 9 2 . 1 6 8 . 1 . 0   1 9 2 . 1 6 8 . 1 . 2 5 5 C I D R     使 s r p ( ) 2 3 ( s e n t _ p a c k e t ,   r e c e i v e d _ p a c k e t ) t a r g e t _ i p   t a r g e t _ i p   = =     " 1 9 2 . 1 6 8 . 1 . 1 / 2 4 " " 1 9 2 . 1 6 8 . 1 . 1 / 2 4 " #   I P   A d d r e s s   f o r   t h e   d e s t i n a t i o n #   I P   A d d r e s s   f o r   t h e   d e s t i n a t i o n #   c r e a t e   A R P   p a c k e t #   c r e a t e   A R P   p a c k e t a r p   a r p   = =   A R P   A R P ( ( p d s t p d s t = = t a r g e t _ i p t a r g e t _ i p ) ) #   c r e a t e   t h e   E t h e r   b r o a d c a s t   p a c k e t #   c r e a t e   t h e   E t h e r   b r o a d c a s t   p a c k e t #   f f : f f : f f : f f : f f : f f   M A C   a d d r e s s   i n d i c a t e s   b r o a d c a s t i n g #   f f : f f : f f : f f : f f : f f   M A C   a d d r e s s   i n d i c a t e s   b r o a d c a s t i n g e t h e r   e t h e r   = =   E t h e r   E t h e r ( ( d s t d s t = = " f f : f f : f f : f f : f f : f f " " f f : f f : f f : f f : f f : f f " ) ) #   s t a c k   t h e m #   s t a c k   t h e m p a c k e t   p a c k e t   = =   e t h e r   e t h e r / / a r p a r p r e s u l t   r e s u l t   = =   s r p   s r p ( ( p a c k e t p a c k e t , ,   t i m e o u t   t i m e o u t = = 3 3 ) ) [ [ 0 0 ] ] #   a   l i s t   o f   c l i e n t s ,   w e   w i l l   f i l l   t h i s   i n   t h e   u p c o m i n g   l o o p #   a   l i s t   o f   c l i e n t s ,   w e   w i l l   f i l l   t h i s   i n   t h e   u p c o m i n g   l o o p c l i e n t s   c l i e n t s   = =     [ [ ] ] f o r f o r   s e n t   s e n t , ,   r e c e i v e d     r e c e i v e d   i n i n   r e s u l t   r e s u l t : :                 #   f o r   e a c h   r e s p o n s e ,   a p p e n d   i p   a n d   m a c   a d d r e s s   t o   ` c l i e n t s `   l i s t #   f o r   e a c h   r e s p o n s e ,   a p p e n d   i p   a n d   m a c   a d d r e s s   t o   ` c l i e n t s `   l i s t         c l i e n t s         c l i e n t s . . a p p e n d a p p e n d ( ( { { ' i p ' ' i p ' : :   r e c e i v e d   r e c e i v e d . . p s r c p s r c , ,     ' m a c ' ' m a c ' : :   r e c e i v e d   r e c e i v e d . . h w s r c h w s r c } } ) )
#   p r i n t   c l i e n t s #   p r i n t   c l i e n t s p r i n t p r i n t ( ( " A v a i l a b l e   d e v i c e s   i n   t h e   n e t w o r k : " " A v a i l a b l e   d e v i c e s   i n   t h e   n e t w o r k : " ) ) p r i n t p r i n t ( ( " I P " " I P "     + +     "   " "   " * * 1 8 1 8 + + " M A C " " M A C " ) ) f o r f o r   c l i e n t     c l i e n t   i n i n   c l i e n t s   c l i e n t s : :                 p r i n t p r i n t ( ( " { : 1 6 }         { } " " { : 1 6 }         { } " . . f o r m a t f o r m a t ( ( c l i e n t c l i e n t [ [ ' i p ' ' i p ' ] ] , ,   c l i e n t   c l i e n t [ [ ' m a c ' ' m a c ' ] ] ) ) ) ) f r o m f r o m   s c a p y   s c a p y . . a l l a l l     i m p o r t i m p o r t   A R P   A R P , ,   E t h e r   E t h e r , ,   s r p   s r p t a r g e t _ i p   t a r g e t _ i p   = =     " 1 9 2 . 1 6 8 . 1 . 1 / 2 4 " " 1 9 2 . 1 6 8 . 1 . 1 / 2 4 " #   I P   A d d r e s s   f o r   t h e   d e s t i n a t i o n #   I P   A d d r e s s   f o r   t h e   d e s t i n a t i o n #   c r e a t e   A R P   p a c k e t #   c r e a t e   A R P   p a c k e t a r p   a r p   = =   A R P   A R P ( ( p d s t p d s t = = t a r g e t _ i p t a r g e t _ i p ) ) #   c r e a t e   t h e   E t h e r   b r o a d c a s t   p a c k e t #   c r e a t e   t h e   E t h e r   b r o a d c a s t   p a c k e t #   f f : f f : f f : f f : f f : f f   M A C   a d d r e s s   i n d i c a t e s   b r o a d c a s t i n g #   f f : f f : f f : f f : f f : f f   M A C   a d d r e s s   i n d i c a t e s   b r o a d c a s t i n g e t h e r   e t h e r   = =   E t h e r   E t h e r ( ( d s t d s t = = " f f : f f : f f : f f : f f : f f " " f f : f f : f f : f f : f f : f f " ) ) #   s t a c k   t h e m #   s t a c k   t h e m p a c k e t   p a c k e t   = =   e t h e r   e t h e r / / a r p a r p r e s u l t   r e s u l t   = =   s r p   s r p ( ( p a c k e t p a c k e t , ,   t i m e o u t   t i m e o u t = = 3 3 , ,   v e r b o s e   v e r b o s e = = 0 0 ) ) [ [ 0 0 ] ] #   a   l i s t   o f   c l i e n t s ,   w e   w i l l   f i l l   t h i s   i n   t h e   u p c o m i n g   l o o p #   a   l i s t   o f   c l i e n t s ,   w e   w i l l   f i l l   t h i s   i n   t h e   u p c o m i n g   l o o p c l i e n t s   c l i e n t s   = =     [ [ ] ] f o r f o r   s e n t   s e n t , ,   r e c e i v e d     r e c e i v e d   i n i n   r e s u l t   r e s u l t : :                 #   f o r   e a c h   r e s p o n s e ,   a p p e n d   i p   a n d   m a c   a d d r e s s   t o   ` c l i e n t s `   l i s t #   f o r   e a c h   r e s p o n s e ,   a p p e n d   i p   a n d   m a c   a d d r e s s   t o   ` c l i e n t s `   l i s t         c l i e n t s         c l i e n t s . . a p p e n d a p p e n d ( ( { { ' i p ' ' i p ' : :   r e c e i v e d   r e c e i v e d . . p s r c p s r c , ,     ' m a c ' ' m a c ' : :   r e c e i v e d   r e c e i v e d . . h w s r c h w s r c } } ) ) #   p r i n t   c l i e n t s #   p r i n t   c l i e n t s p r i n t p r i n t ( ( " A v a i l a b l e   d e v i c e s   i n   t h e   n e t w o r k : " " A v a i l a b l e   d e v i c e s   i n   t h e   n e t w o r k : " ) ) p r i n t p r i n t ( ( " I P " " I P "     + +     "   " "   " * * 1 8 1 8 + + " M A C " " M A C " ) ) f o r f o r   c l i e n t     c l i e n t   i n i n   c l i e n t s   c l i e n t s : :                 p r i n t p r i n t ( ( " { : 1 6 }         { } " " { : 1 6 }         { } " . . f o r m a t f o r m a t ( ( c l i e n t c l i e n t [ [ ' i p ' ' i p ' ] ] , ,   c l i e n t   c l i e n t [ [ ' m a c ' ' m a c ' ] ] ) ) ) )

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

本版积分规则