基于ebpf的unix域套接字类tcpdump

unixdump的Python项目详细描述


单泵

“用于Unix域套接字的tcpdump”

unixdump是一个强大的命令行unix域套接字“packet”捕获器。它 是一个基于ebpf的内核跟踪工具,可以提取、处理和转储所有 通过Unix域套接字跨整个Linux主机发送数据,并支持 用于各种过滤粒度的内核过滤器中的性能。它 允许对进程之间的Unix套接字通信量进行手动流量检查, 包括辅助数据,如文件描述符和unix凭据。

安装

密件抄送

unixdump依赖于bcc ebpf跟踪工具框架。见 BCC install instructions 为了你的发行。我们建议从 source

注意:虽然bcc更新可能导致中断,unixdump已知 使用版本0.8.0 在ubuntu 18.04和0.7.0 在ubuntu 18.04和kali上。如果您对unixdump有问题,请 确保您没有运行过期的bcc版本。

单泵

sudo -H pip install unixdump

用法

unixdump最好与过滤器一起使用。其中几个重要的定义 below,其余的可以用--help列出。转储所有Unix 系统的域套接字通信量(无呈现 输出),不带任何参数运行unixdump

注意:unixdump需要CAP_SYS_ADMIN权限和对 sysfs/debugfs

sudo unixdump

对于一个示例用例,假设我们知道程序创建了一个unix域 以/tmp/domain-socket-开头的随机字符的套接字。我们可以 将输出限制为仅以该字符串开头的套接字:

sudo unixdump -b '/tmp/domain-socket'

使用unixdump过滤器的组合可以进一步限制输出 选项。

选项

unixdump提供许多不同的参数来过滤输出和微调 表演。下面是一些更值得注意的选项:

  • -b, --beginswith:最有用的过滤器之一是匹配开始 套接字路径的序列。当程序创建 以随机字符结尾的套接字路径,但开头是唯一和恒定的。 这使得在不提前知道整个套接字名称的情况下过滤成为可能。

  • -s, --socket:当用户知道套接字路径的确切名称时,这是 使用的选项。通过指定一个空字符串,比如-s ''unixdump 将筛选未命名的套接字。

  • -@, --base64:要筛选二进制抽象命名空间键,此选项 指示unixdump-b/-s选项解析为base64。

  • -p, --pid:在特定进程(以及任何通信 使用此选项。

  • -x, --exclude:当用户正在监听一般流量并希望 隐藏有噪声的进程,如Xorg。此参数采用空格分隔的列表 要排除的pids的。

  • -t, --excludeownterminal:(需要wmctrl)尝试排除当前终端进程 从捕获。目前支持wayland和x11,以及tmuxscreen 终端多路复用器。
    注意:Wayland当前不支持屏幕

  • -l, --ancillarydata:对于那些只想监视包含 辅助数据。这将提供文件描述符或unix凭据 是被派来的。

  • -o, --dir:根据pid对将输出保存到单独的文件中。这个 选项-c, --color也可以设置为像在wireshark中一样添加颜色。

  • -B, --extract:从--dir保存的文件中提取缓冲区内容 并将其输出到单独的客户机和服务器文件中的二进制文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java MenuInflater究竟是如何工作的?   用Java为每个循环查找一个元素   从1.3.2版开始,central maven中缺少java Springldap jar   多维java数组问题   java如何在StringProperty和组合框SelectedItemProperty之间进行双向绑定   java复制DynaBean的有效方法   ios Firestore分页数据+快照侦听器   java边界布局。该中心不与JPanel合作   C#和Java中的加密/解密   java List<String>List=newlinkedlist<>()与List List=newlinkedlist<String>()有什么区别?   java Android应用程序,包含传统和SL4A部分   java无法调用PowerMockito。@BeforeTest中的mockStatic   java My list viw未显示(Android Studio)   如何建立网络。基于java的xml在spring网页上的应用   java为Android设置按钮   如何在java中使用hashmap删除重复的数组元素   ssl Soundcloud JAVA api包装器:SSLPeerUnverifiedException