使用ptrace监控

关于ptrace,是在linux kernel中自带的模块,一个函数接口,能做的事情很多。

找到了两篇关于ptrace使用的blog,很详细,包括例子啥的。

ptrace的相关参数:

ptrace的使用demo:
 
监控的话,无论是attach还是fork一个进程,都是将目标进程变成此时进程的子进程。例如attack,会将目标进程挂起,此时进入子进程中,然后监控进程等待信号并唤醒目标进程,接收目标进程的信号,监控的时候则是关注于目标进程崩溃的信号,即11. 参见
各类信号对应的错误:
 
ptrace中的处理:
监控进程在完成相关操作以后就调用ptrace(PTRACE_CONT, …)或者 ptrace( PTRACE_SYSCALL, …), 这将唤醒子进程,内核此时所作的是调用一个叫wake_up_process() 的进程调度函数。其他的一些系统架构可能会通过发送SIGCHLD给子进程来达到这个目的。这也是在ptrace使用时,当使用traceme或者attach的时候,最后 都会有这两个调用中的一个。
 
注意:
使用attach(PTRACE_ATTACH或者PTRACE_SEIZE),需要使用root权限,不然无法attach.
 

转载于:https://www.cnblogs.com/icepng/p/5975118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值