Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
stenographer — Stenographer 是一款数据包捕获解决方案,旨在快速将所有数据包暂存到磁盘,然后提供对这些数据包子集的简单、快速访问。讨论/公告请发送至 stenographer@googlegroups.com | Kitploit
工具/GitHubGitHub/google/stenographer
数据包嗅探与分析网络取证取证分析网络安全入侵检测事件响应Archived
GitHubgoogle/stenographer

stenographer

Stenographer 是一款数据包捕获解决方案,旨在快速将所有数据包暂存到磁盘,然后提供对这些数据包子集的简单、快速访问。讨论/公告请发送至 [email protected]

查看仓库
1.8k233255年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Stenographer

概述

Stenographer 是一个全包捕获工具,用于将数据包缓冲到磁盘,以满足入侵检测和事件响应需求。它提供了从网卡到磁盘的高性能数据包写入实现,处理磁盘空间满时自动删除旧文件,并提供快速简便地读取特定数据包集合的方法。

其设计目标是:

  • 将数据包快速写入磁盘(在多核、多磁盘机器上约 10Gbps)
  • 尽可能多地存储历史数据(管理磁盘使用,当流量减慢时存储更长时间,当达到磁盘限制时删除最旧的数据包)
  • 根据分析师需求,从磁盘读取非常小的百分比(<1%)的数据包

它不设计用于:

  • 复杂的数据包处理(TCP 流重组等)

    • 它之所以快是因为不进行这些处理。即使我们进行非常简单的单遍数据包处理,仅索引处理约 1Gbps 的数据就可能消耗超过 75% 的单核 CPU。
    • 通过从磁盘回读数据进行处理也不可行:请参见下一点。
  • 回读大量数据包(超过写入数据包的 1%)

    • 关键概念是磁盘读取与磁盘写入竞争……你可以以 90% 的磁盘速度写入,但那仅留给磁盘 10% 的时间用于读取。此外,我们写入的是高度顺序的数据,磁盘处理得非常快,而回读通常是稀疏的数据并伴随着大量寻道,磁盘处理得慢。

如需进一步了解,请查阅 DESIGN.md 了解 stenographer 的设计讨论,或阅读 INSTALL.md 了解如何在机器上安装 stenographer。

查询

查询语言

用户通过一种非常简单的查询语言从 stenographer 请求数据包。这种语言是 BPF 的一个简单子集,包括以下原语:

host 8.8.8.8          # 单个 IP 地址(不允许主机名)
net 1.0.0.0/8         # 带 CIDR 的网络
net 1.0.0.0 mask 255.255.255.0  # 带掩码的网络
port 80               # 端口号(UDP 或 TCP)
ip proto 6            # IP 协议号 6
icmp                  # 等同于 'ip proto 1'
tcp                   # 等同于 'ip proto 6'
udp                   # 等同于 'ip proto 17'

# Stenographer 特有的时间添加:
before 2012-11-03T11:05:00Z      # 特定时间之前的数据包(UTC)
after 2012-11-03T11:05:00-07:00  # 特定时间之后的数据包(带时区)
before 45m ago        # 相对时间之前的数据包
after 3h ago         # 相对时间之后的数据包

注意:相对时间必须使用整数小时或分钟表示,如上所示。

原语可以使用 and/&& 和 or/|| 组合,它们具有相同的优先级并从左到右求值。也可以使用括号进行分组。

(udp and port 514) or (tcp and port 8080)

Stenoread CLI

stenoread 命令行脚本用于自动从 Stenographer 获取数据包并以可用格式呈现给分析师。它从 stenographer 请求原始数据包,然后通过 tcpdump 运行它们,以提供更全面的格式化/过滤体验。stenoread 的第一个参数是 stenographer 查询(参见上面的“查询语言”)。所有其他参数都传递给 tcpdump。例如:

# 从 IP 1.2.3.4 端口 6543 请求所有数据包,然后通过 TCP 标志进行额外过滤(标准 stenographer 不支持此功能)。
$ stenoread 'host 1.2.3.4 and port 6543' 'tcp[tcpflags] & tcp-push != 0'

# 请求端口 8765 上的数据包,打印时禁用 IP 解析 (-n) 并显示链路层头部 (-e)。
$ stenoread 'port 8765' -n -e

# 请求范围 1.1.1.0-1.1.1.255 内任何 IP 的数据包,将其写入本地 PCAP 文件,以便在 Wireshark 中打开。
$ stenoread 'net 1.1.1.0/24' -w /tmp/output_for_wireshark.pcap

下载

要下载源代码,请先在本地安装 Go,然后运行:

$ go get github.com/google/stenographer

Go 将自动下载并安装 stenographer 所依赖的所有 Go 库。要构建 stenotype,请进入 stenotype 目录并运行 make。你可能需要安装以下 Ubuntu 软件包(或其他 Linux 发行版的等效包):

  • libaio-dev
  • libleveldb-dev
  • libsnappy-dev
  • g++
  • libcap2-bin
  • libseccomp-dev

必要的免责声明

这不是一个正式的 Google 产品(无论是实验性的还是其他),它只是恰好归 Google 所有的代码。

此代码不用于(也不用于)监视 Google 的用户。其目的是通过增强我们内部监控能力来提高我们网络的安全性。

下载工具