[11530] 2017-07-04_网卡厂商自动识别工具(Python版,附源代码)

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2017-07-04_网卡厂商自动识别工具(Python版,附源代码) P y t h o n   b g u s k o 6 3 1 9 0   F r e e B u f   2 0 1 7 - 0 7 - 0 4   p y t h o n   L i n u x   w i n d o w s   使 使 L i n u x   ( a r p   - n )   w i n d o w s   a r p   - a a r p 使 使 o u i - f i l e     o u i . t x t o u i . t x t     . / o u i . t x t a r p - t a b - f i l e     a r p 1 a r p   w i n d o w s   >   a r p   - a   >   a r p . t x t L i n u x   #   a r p   - n   > a r p . t x t 2   m a c . p y 3 r e s u l t . t x t   L i n u x W i n d o w s :
# ! / u s r / b i n / e n v   p y t h o n #   - * -   c o d i n g : u t f 8   - * - " " " C o d e d   b y   b g u s k o 6 3 1 9 0 " " " i m p o r t   r e i m p o r t   s y s i m p o r t   c o d e c s i m p o r t   a r g p a r s e d e f   p a r s e _ o u i ( o u i _ p a t h ) :         " " "           o u i . t x t , ' ' : ' '           " " "         o u i _ d i c t   =   d i c t ( )         w i t h   c o d e c s . o p e n ( o u i _ p a t h ,   ' r ' ,   e n c o d i n g = ' u t f 8 ' )   a s   f d :                 f o r   l i n e   i n   f d :                         i f   ' ( h e x ) '   i n   l i n e :
                                _ l i n e   =   l i n e . s p l i t ( ' ( h e x ) ' )                                 f l a g   =   _ l i n e [ 0 ] . s t r i p ( )                                 m a n u f a c t u r e r s   =   _ l i n e [ 1 ] . s t r i p ( )                                 o u i _ d i c t [ f l a g ]   =   m a n u f a c t u r e r s         r e t u r n   o u i _ d i c t d e f   p a r s e _ a r p _ t a b ( a r p _ t a b _ p a t h ,   o u i _ p a t h ) :         " " "         : p a r a m   a r p _ t a b _ p a t h :   a r p   - n   w i n d o w s   a r   - a   L i n u x a r p   - n           : p a r a m   o u i _ p a t h :   o u i . t x t         : r e t u r n :         " " "         p a r s e _ r e s u l t   =   [ ]         o u i _ d i c t   =   p a r s e _ o u i ( o u i _ p a t h )         #       0 0 : 4 2 : 5 a : 3 8 : 9 f : 5 6     0 0 - 4 2 - 5 a - 3 8 - 9 f - 5 6 0 0 . 4 2 . 5 a . 3 8 . 9 f . 5 6   3 M A C         m a c _ p a t t e r n   =   r e . c o m p i l e (                 ' ( [ 0 - 9 a - f A - F ] { 1 , 2 } [ - ] ) { 5 } ( [ 0 - 9 a - f A - F ] { 1 , 2 } ) | ( [ 0 - 9 a - f A - F ] { 1 , 2 } [ : ] ) { 5 } ( [ 0 - 9 a - f A - F ] { 1 , 2 } ) | ( [ 0 - 9 a - f A - F ] { 1 , 2 } [ . ] ) { 5 } ( [ 0 - 9 a - f A - F ] { 1 , 2 } ) ' ,                 r e . V E R B O S E   |   r e . I G N O R E C A S E )         r e s u l t _ l i n e s   =   [ ]         w i t h   c o d e c s . o p e n ( a r p _ t a b _ p a t h ,   ' r ' ,   e n c o d i n g = ' u t f 8 ' )   a s   f d :                 f o r   l i n e   i n   f d :                         _ l i n e   =   N o n e                         i f   u ' '   i n   l i n e :                                 _ l i n e   =   l i n e . s t r i p ( )   +   ' t t '   +   u ' '                         e l i f   ' T y p e '   i n   l i n e   o r   ' I f a c e '   i n   l i n e :                                 _ l i n e   =   l i n e . s t r i p ( )   +   ' t t '   +   ' m a n u f a c t u r e r s '                         e l s e :                                 t r y :                                         i f   u ' '   i n   l i n e   o r   ' d y n a m i c '   i n   l i n e   o r   ' s t a t i c '   i n   l i n e   o r   ' e t h e r '   i n   l i n e :                                                 #   _ l i n e   =   l i n e . s t r i p ( )   +   ' t t '   +   o u i _ d i c t [ m a c _ p a t t e r n . s e a r c h ( l i n e ) . g r o u p ( ) . r s p l i t ( ' - ' ,   3 ) [ 0 ] . u p p e r ( ) ]                                                 m a n u   =   r e . s p l i t ( ' [ - : . ] ' ,   m a c _ p a t t e r n . s e a r c h ( l i n e ) . g r o u p ( ) ,   3 )                                                 m a n u _ f l a g   =   m a n u [ 0 ]   +   ' - '   +   m a n u [ 1 ]   +   ' - '   +   m a n u [ 2 ]
                                                _ l i n e   =   l i n e . s t r i p ( )   +   ' t t '   +   o u i _ d i c t [ m a n u _ f l a g . u p p e r ( ) ]                                 e x c e p t   K e y E r r o r :                                         _ l i n e   =   l i n e . s t r i p ( )   +   ' t t '   +   u ' u n k n o w n '                                 e x c e p t :                                         #   p r i n t   l i n e . s t r i p ( )                                         p a s s                         i f   _ l i n e :                                 r e s u l t _ l i n e s . a p p e n d ( _ l i n e   +   ' n ' )                         e l s e :                                 #   p r i n t   l i n e                                 p a s s         w i t h   c o d e c s . o p e n ( ' r e s u l t . t x t ' ,   ' w ' ,   e n c o d i n g = ' u t f 8 ' )   a s   f d :                 f d . w r i t e l i n e s ( r e s u l t _ l i n e s ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :         r e l o a d ( s y s )         s y s . s e t d e f a u l t e n c o d i n g ( ' u t f 8 ' )         p a r s e   =   a r g p a r s e . A r g u m e n t P a r s e r ( )         p a r s e . a d d _ a r g u m e n t ( ' - - o u i - f i l e ' ,   d e s t = ' o u i ' ,   t y p e = s t r ,   d e f a u l t = ' . / o u i . t x t ' ,   h e l p = ' o u i   f i l e   p a t h ' )         p a r s e . a d d _ a r g u m e n t ( ' - - a r p - t a b - f i l e ' ,   d e s t = ' a r p ' ,   t y p e = s t r ,   r e q u i r e d = T r u e ,   h e l p = ' a r p   t a b   f i l e   p a t h ' )         a r g u m e n t   =   p a r s e . p a r s e _ a r g s ( )         p a r s e _ a r p _ t a b ( a r g u m e n t . a r p ,   a r g u m e n t . o u i ) * b g u s k o 6 3 1 9 0 F r e e B u f . C O M

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

本版积分规则