首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTrace按键记录器

DTrace按键记录器
EN

Stack Overflow用户
提问于 2011-09-09 09:05:00
回答 3查看 1.3K关注 0票数 1

我尝试过让Brendan Gregg的sshkeysnoop.d在Mac上运行,但遇到了麻烦。有没有可能让它正常工作?如果是这样的话,是怎么做的?

我得到的错误是:

代码语言:javascript
复制
dtrace: failed to compile script ./sshkeysnoop.d: line 40: probe description syscall::exec:return does not match any probes

是否可以使用DTrace在Mac上进行任何其他类型的键记录?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-17 16:03:04

你可以做几件事来适应像这样的脚本。首先,您可以询问dtrace它有哪些探测点:

代码语言:javascript
复制
$ sudo dtrace -l -f 'syscall::exec*'
   ID   PROVIDER            MODULE                          FUNCTION NAME
18442    syscall                                              execve entry
18443    syscall                                              execve return

其次,您可以跟踪单个进程上的所有syscall,以查看发生了什么。

代码语言:javascript
复制
$ sudo dtruss ssh somewhere 2>dtrussout
Password: (type something here)

如果你通过dtrussout查看,你可以看到

代码语言:javascript
复制
read_nocancel(0x5, "a\0", 0x1)       = 1 0
read_nocancel(0x5, "s\0", 0x1)       = 1 0
read_nocancel(0x5, "d\0", 0x1)       = 1 0
read_nocancel(0x5, "f\0", 0x1)       = 1 0
read_nocancel(0x5, "\n\0", 0x1)      = 1 0

有了这些知识,改编脚本就很容易了。

代码语言:javascript
复制
$ diff sshkeysnoop.d{.orig,}
40c40
< syscall::exec:return, syscall::exece:return
---
> syscall::execve:return
51c51
< syscall::open:entry, syscall::open64:entry
---
> syscall::open:entry
58c58
< syscall::open:return, syscall::open64:return
---
> syscall::open:return
68c68
< syscall::read:entry
---
> syscall::read_nocancel:entry
75c75
< syscall::read:return
---
> syscall::read_nocancel:return
票数 1
EN

Stack Overflow用户

发布于 2011-09-09 09:33:28

OS X没有syscall::exec DTrace探测器。它确实有一个syscall::execve。类似地,它没有syscall::open64,它也在这个脚本中使用。但是,即使将exec替换为execve并删除open64,脚本也不能正常工作。

票数 1
EN

Stack Overflow用户

发布于 2014-04-11 19:04:23

还要确保使用all选项进行加载

代码语言:javascript
复制
kldload dtraceall

而且不仅仅是

代码语言:javascript
复制
kldload dtrace

否则syscall将无法加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7356155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档