Repolode
projectdiscovery

projectdiscovery/katana

ProjectDiscovery 出品的快速可配置网页爬虫框架,支持标准与无头浏览器两种模式,用于发现站点端点。

Star
17,807
Fork
1,218
未关闭 Issue
21
最近提交
15小时前

这是什么?

Katana 是一个用 Go 编写的命令行爬虫,用于发现网站上的 URL 和接口端点。它提供两种模式:标准模式基于 Go 的 HTTP 客户端,只解析原始响应,速度较快;无头模式则驱动 Chrome,能够捕获由 JavaScript 和 XHR 请求产生的端点。

抓取范围可按根域名、完整域名或自定义正则限定,结果可输出到标准输出、文件或可选字段的 JSONL。输入支持单个 URL、列表文件和标准输入,便于与 httpx 等工具串联使用。

此外,Katana 还支持 JavaScript 端点解析、自动表单填充、robots.txt 与 sitemap.xml 等已知文件抓取、相似 URL 与相似页面过滤、速率限制,以及可对页面类型分类、检测密钥和 API 端点的机器学习知识库功能。

核心功能

  • 01标准 HTTP 抓取与无头 Chrome 抓取两种模式
  • 02解析 JavaScript 文件以发现端点
  • 03按根域名、完整域名或正则限定抓取范围
  • 04支持自动填充表单,并可在无头模式下回放录制的登录流程
  • 05相似 URL 与相似页面过滤,减少重复抓取
  • 06支持输出到标准输出、文件或可配置字段的 JSONL

适用场景

  • 在安全测试中梳理 Web 应用的攻击面与接口端点
  • 在自动化流水线中生成 URL 列表,供后续扫描使用
  • 抓取依赖 JavaScript 渲染内容的单页应用
  • 在限定目标域名范围内收集网站结构

快速上手

  1. 1

    使用 Go 安装 katana(需要 Go 1.26+)

    CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest
  2. 2

    抓取目标 URL

    katana -u https://tesla.com

使用前须知

  • 安装需要 Go 1.26 或更高版本。
  • 无头模式需要 Chrome 浏览器,可使用本地已安装的版本或自行提供。
  • 多项功能标注为实验性,包括自动表单填写和无头混合抓取。

收录于专题

标签

常见问题

katana 是什么?
ProjectDiscovery 出品的快速可配置网页爬虫框架,支持标准与无头浏览器两种模式,用于发现站点端点。 Katana 是一个用 Go 编写的命令行爬虫,用于发现网站上的 URL 和接口端点。它提供两种模式:标准模式基于 Go 的 HTTP 客户端,只解析原始响应,速度较快;无头模式则驱动 Chrome,能够捕获由 JavaScript 和 XHR 请求产生的端点。
katana 可以免费使用吗?用的什么许可证?
katana 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
katana 还在维护吗?
活跃维护中。katana 最近一次提交是在 2026年11月6日。
katana 适合用来做什么?
在安全测试中梳理 Web 应用的攻击面与接口端点 在自动化流水线中生成 URL 列表,供后续扫描使用 抓取依赖 JavaScript 渲染内容的单页应用 在限定目标域名范围内收集网站结构
katana 怎么安装和运行?
使用 Go 安装 katana(需要 Go 1.26+): CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest 抓取目标 URL: katana -u https://tesla.com
在哪里获取 katana?
源代码和安装说明在 GitHub 上:https://github.com/projectdiscovery/katana

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目