当前位置:网站首页 > 黑客培训 > 正文

研究如何使用IPCDump在Linux上跟踪进程间通信

freebuffreebuf 2021-04-28 286 0

本文来源:Alpha_h4ck

IPCDump

IPCDump这款工具可以帮助广大研究人员在Linux操作系统上跟踪进程间通信(IPC)。该工具覆盖了大多数常见的IPC机制,比如说管道、FIFO、Unix套接字、基于环回的网络和伪终端等等。

该工具有助于研究和调试多进程引用程序,而且还可以帮助了解操作系统通信过程中不同组件之间的关联。IPCDump可以跟踪此通信的元数据和内容,它特别适合在短生命周期的进程之间跟踪IPC,而这种任务对于传统的调试工具来说比较困难,如strace或gdb。它还有一些基本的过滤功能,可以帮助你筛选大量的事件。IPCDump收集的大部分信息来自放置在内核中关键函数的kprobes和跟踪点上的BPF钩子。为此,IPCDump使用了gobpf,它可以为bcc框架提供Golang绑定功能。

功能介绍

  • 支持管道和FIFO;
  • 回环IPC;
  • 信号(常规和实时);
  • Unix流和数据图表;
  • 基于伪终端的IPC;
  • 基于进程PID或进程名的事件过滤器;
  • 可读性高或JSON格式的输出数据;

工具要求count> events   -d value         filter by destination pid (can be specified more than once)   -f string         text|json> output format (default is text) (default "text")   -p value         filter by pid (either source or destination, can be specified more than once)   -s value         filter by source pid (can be specified more than once)   -t value         filter by type (can be specified more than once).         possible values: a|all  k|signal  u|unix  ud|unix-dgram  us|unix-stream  t|pty  lo|loopback  lt|loopback-tcp  lu|loopback-udp  p|pipe   -x    dump IPC bytes where relevant (rather than just event details).

One-liner

以Root权限运行:

# 导出目标系统中所有的IPC  ./ipcdump     # 导出任意两个进程间的通信信号  ./ipcdump -t kill     # 导出跟PID 1337相关的所有回环TCP连接  ./ipcdump -t loopback-tcp -p 1337     # 导出Unix套接字IPC元数据和内容  ./ipcdump -t unix -x -S Xorg     # 导出JSON格式的管道I/O元数据和前64字节的数据内容  ./ipcdump -t pipe -x -B 64 -f json

项目地址

IPCDump:https://github.com/guardicore/IPCDump

参考资料

  • https://www.guardicore.com/labs/ipcdump-guardicores-new-open-source-tool-for-linux-ipc-inspection/
  • https://github.com/iovisor/gobpf
  • https://github.com/iovisor/bcc
  • https://golang.org/dl/
  • https://github.com/iovisor/bcc/blob/master/INSTALL.md

转载请注明来自网盾网络安全培训,本文标题:《研究如何使用IPCDump在Linux上跟踪进程间通信》

标签:IPC进程间通信

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表