Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
kyanos — Kyanos 是一款基于 eBPF 的网络分析工具。它可以将数据包在内核中花费的时间可视化,捕获请求/响应,让你的故障排查更高效。 | Kitploit
工具/GitHubGitHub/hengyoush/kyanos
数据包嗅探与分析动态分析 (沙盒)网络映射漏洞分析DNS 分析日志分析
GitHubhengyoush/kyanos

kyanos

Kyanos 是一款基于 eBPF 的网络分析工具。它可以将数据包在内核中花费的时间可视化,捕获请求/响应,让你的故障排查更高效。

查看仓库
5.1k23452个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

GitHub last commit GitHub release Test Twitter

hengyoush%2Fkyanos | Trendshift [![Featured on Hacker News](https://hackerbadge.now.sh/api?id=42154583)](https://news.ycombinator.com/item?id=42154583) Featured|HelloGitHub

简体中文 | English

Table of Contents

  • Table of Contents
  • 🦜 What is kyanos
  • 🌰 Examples
  • ❗ Requirements
  • 📝 Documentation
  • 🎯 How to get kyanos
  • ⚙ Usage
  • 🏠 How to Build
  • 🤝 Feedback and Contributions
  • 🙇‍ Special Thanks
  • 🗨️ Contacts
  • Star History

🦜 What is kyanos

Kyanos 是一个网络流量采集和分析工具,它提供如下特性:

  1. 强大的流量过滤功能:不仅可以根据传统 IP/端口 等信息过滤,还支持根据:进程/容器、L7 协议信息、请求/响应字节数、耗时等过滤你想要的数据。
root@kitploit:~
# 根据 pid 过滤
./kyanos watch --pids 1234
# 根据容器 id 过滤
./kyanos watch --container-id abc
# 根据 redis 的 key 过滤
./kyanos watch redis --keys my-key1,my-key2
# 根据响应字节数过滤
./kyanos watch --resp-size 10000
  1. 强大的分析功能: 和 tcpdump 只提供细粒度的抓包功能不同,kyanos 还支持以各种维度聚合抓取的数据包的指标信息,快速得到对排查问题最有用的关键数据。想象一下你的 HTTP 服务的带宽突然被打满,你该如何快速的分析是 哪些 ip 的 哪些请求 造成的?
    使用 kyanos 只需要一行命令:kyanos stat http --bigresp 即可找到发送给哪些远程 ip 的响应字节数最大,并且还能够发现请求响应的具体数据。 kyanos find big response
  2. 深入内核的耗时细节:在实际业务场景中我们经常遇到远程服务慢查询问题,比如访问 Redis 请求较慢,但是 具体慢在哪里 在传统监控方式下很难给出确切答案。而 kyanos 提供了 请求/响应 到达网卡以及从 内核 Socket 缓冲区读取的内核埋点,并且以可视化的图形展示出来,你可以方便的判断是哪一个环节出现了问题。 kyanos time detail
    如上所示,这是一个在容器内执行 curl http://www.baidu.com 命令的耗时记录,你可以发现 kyanos 记录了请求经过容器网卡、宿主机网卡,响应经过宿主机网卡、容器网卡、Socket 缓冲区每个步骤的耗时。
  3. 轻量级零依赖:几乎 0 依赖,只需要单个二进制文件,一行命令,所有结果都展示在命令行中。
  4. SSL 流量自动解密:kyanos 为你抓取的请求响应结果全部都是明文。

🌰 Examples

抓取 HTTP 流量并且获取耗时细节

执行命令:

root@kitploit:~
./kyanos watch http

演示结果如下:

kyanos quick start watch http

抓取 Redis 流量获取耗时细节

执行命令:

root@kitploit:~
./kyanos watch redis

演示结果如下:

kyanos quick start watch redis

找到 5s 内最慢的几个请求

执行命令:

root@kitploit:~
 ./kyanos stat --slow --time 5

演示结果如下:

kyanos stat slow

❗ Requirements

Kyanos 当前支持 3.10(3.10.0-957 以上)及 4.14 以上版本内核(4.7 版本到 4.14 版本之间的后续计划支持)。

通过 uname -r 查看内核版本

📝 Documentation

Chinese Document

🎯 How to get kyanos

你可以从 release page 中下载以静态链接方式编译的适用于 amd64 和 arm64 架构的二进制文件:

root@kitploit:~
tar xvf kyanos_vx.x.x_linux_amd64.tar.gz

然后以 root 权限 执行如下命令:

root@kitploit:~
sudo ./kyanos watch

如果显示了下面的表格: kyanos quick start success 🎉 恭喜你,kyanos 启动成功了。

⚙ Usage

最简单的用法如下,抓取所有 kyanos 当前能够识别的协议

root@kitploit:~
sudo ./kyanos watch

每个请求响应记录会记录在表格中的一行,每列记录这个请求的基本信息。你可以通过方向键或者 j/k 上下移动来选择记录: kyanos watch result

按下 enter 进入详情界面:

kyanos watch result detail

详情界面里第一部分是 耗时详情,每一个方块代表数据包经过的节点,比如这里有进程、网卡、Socket 缓冲区等。
每个方块下面有一个耗时,这里的耗时指从上个节点到这个节点经过的时间。可以清楚的看到请求从进程发送到网卡,响应再从网卡复制到 Socket 缓冲区并且被进程读取的流程和每一个步骤的耗时。

第二部分是 请求响应的具体内容,分为 Request 和 Response 两部分,超过 1024 字节会截断展示。

抓取流量时一般会更有针对性,比如抓取 HTTP 流量:

root@kitploit:~
./kyanos watch http

更进一步,你可能只想抓取某个 HTTP Path 的流量:

root@kitploit:~
./kyanos watch http --path /abc

了解更多,请参考文档:Kyanos Docs

🏠 How to Build

👉 COMPILATION_CN.md

🤝 Feedback and Contributions

[!IMPORTANT]

如果你遇到了任何使用上的问题、bug 都可以在 issue 中提问。

🙇‍ Special Thanks

在开发 kyanos 的过程中,部分代码借用了以下项目:

  • eCapture
  • pixie
  • ptcpdump

🗨️ Contacts

如果你有更详细的问题需要咨询,可以用以下联系方式:

  • 微信交流群:: 见:https://github.com/hengyoush/kyanos/issues/178。
  • 我的邮箱:: [email protected]。
  • 我的 Blog:: http://blog.deadlock.cloud。

Star History

Star History Chart

Back to top

下载工具