我编写了一个小的 go 脚本并使用 strace 跟踪它,虽然这个脚本,我正在尝试使用 netlink 协议从内核获取审计消息,就像 auditd 一样。
以下是我的 go 脚本上的 strace 输出 - http://paste.ubuntu.com/8272760/
我试图找到 auditd 提供给 sendto 函数的参数。当我在 auditd 上运行 strace 时,我得到以下输出
sendto(3, "\20\0\0\0\350\3\5\0\1\0\0\0\0\0\0\0", 16, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 16
当我 strace 我的 go 文件时,我得到以下输出。我正在寻找解码此语句的第二个参数
sendto(3, "\21\0\0\0\350\3\5\0\1\0\0\0\0\0\0\0\t", 17, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 17
再具体一点
"\21\0\0\0\350\3\5\0\1\0\0\0\0\0\0\0\t"
现在我想将其转换为字符串或字节数组,有没有办法将其转换为字符串或字节数组?
在我实际的 go 代码中,这个参数是一个字节数组。
https://github.com/mozilla/Audit-Go/blob/testing/netlink_old.go#L58