尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

theHarvester 快速上手指南:从被动查询到报告落盘与 DNS 解析

theHarvester 快速上手指南:从被动查询到报告落盘与 DNS 解析 theHarvester 快速上手指南从被动查询到报告落盘与 DNS 解析【免费下载链接】theHarvesterE-mails, subdomains and names Harvester - OSINT项目地址: https://gitcode.com/GitHub_Trending/th/theHarvester导读本文是 theHarvester 的 Quick Start 实战指南聚焦「在授权范围内快速发起一轮 OSINT 侦察」这一场景。你将学会三条核心命令链——小规模被动查询、报告落盘JSONL/JSON/XML以及带自定义解析器的 DNS 主机解析并了解如何刻意挑选数据源、理解空结果不等于失败的判断逻辑。文中所有命令均以 IANA 保留域名example.com演示语法实际使用时请务必替换为你在授权范围内拥有或获准测试的目标。前置说明命令形态与网络活动边界theHarvester 是一个面向域名的开源情报OSINT收集工具可以从搜索引擎、证书透明度日志、DNS 数据集、代码仓库与威胁情报平台等公开来源汇总主机名、邮箱、IP、URL、ASN、人员与泄露事件名称等信息。本文所有示例遵循同一原则被动查询P0只会向数据提供方发起查询不会对目标发起主动交互只有当你显式传入-rDNS 解析等选项时才会产生面向解析器的 DNS 查询等额外网络活动。在源码检出目录source checkout中命令统一以uv run前缀运行uv run theHarvester -d example.com -b crtsh,certspotter如果你从 Kali 或其它已安装发行包中运行则省略uv run直接调用theHarvester -d example.com -b crtsh,certspotter两者的差异仅在于执行环境前者使用uv管理的项目虚拟环境见 README 的安装段落后者依赖系统级安装的入口脚本。二者的底层入口都是 theHarvester/theHarvester.py 中的main()最终汇入 theHarvester/main.py 的entry_point()完成解析与执行。运行一次小型被动查询网络活动说明本步仅发生面向数据提供方的被动查找不涉及对目标域名的主动连接。uv run theHarvester -d example.com -b crtsh,certspotter该命令同时查询两个被动证书来源crt.sh 与 Cert Spotter均属证书透明度日志类数据源并打印合并后的发现结果。命令行参数含义参数含义-d, --domain要搜索的公司名或域名必填也可配合--routeviews传 ASN/IP/CIDR 目标-b, --source逗号分隔的数据源名称或数据源能力capability选择器从 参数定义 可以看到-d是必填项-b的完整支持列表由 theHarvester/lib/source_catalog.py 中的SOURCE_SPECS目录给出。关于空结果的重要提示返回为空可能只是意味着这两个提供方没有收录该目标的相关记录这本身并不证明运行失败。从 源码实现 可见每个来源的运行结果会以SourceExecution状态、耗时、结果数、停止原因的形式被单独记录——来源正常完成但零结果与来源失败/被限流/被跳过在证据层面是严格区分的这正是后续判断一轮运行是否真正失败的依据。保存一份报告网络活动说明面向提供方的被动查找 本地报告文件写入。uv run theHarvester -d example.com -b crtsh,certspotter -f report-f, --filename NAME会同时写出三个文件参数定义report.jsonl面向自动化与数据交换的推荐格式。首条记录是运行摘要summary记录整体证据状态evidence_status、各来源执行结果source_executions、各动作执行结果action_executions与产物artifacts其后的每一条记录是一个带生产者归因producer attribution的规范化发现项。摘要中的来源/动作状态能区分正常空结果与不完整或失败的工作详见 Results and Local Data。report.json与report.xml兼容旧消费方的报告格式但不保留每个条目来自哪个来源的归因信息。文件名会经过 sanitize_filename 清洗~支持展开、绝对路径仅清洗文件名组件、其余路径整体清洗避免写出不安全路径。运行时完成的CompletedResult还会写入本地 SQLite默认~/.local/share/theHarvester/stash.sqlite形成跨运行持久化的本地历史Results and Local Data。解析发现的主机DNS 解析会带来额外的网络活动面向解析器的 DNS 查询务必只在授权范围内使用AUTHORIZED_DOMAINreplace-with-a-domain-you-control uv run theHarvester -d $AUTHORIZED_DOMAIN -b crtsh,certspotter -r-r, --dns-resolve的完整语义参数定义解析收集到的主机名默认使用内置解析器列表(1.1.1.1, 8.8.8.8, 9.9.9.9)见 theHarvester/lib/resolver_selection.py可传逗号分隔的解析器 IP或每行一个 IP 的解析器文件整个运行只有一轮解析阶段最多 20 个主机名任务并发查询数与运行时长默认不设上限。使用自定义解析器文件AUTHORIZED_DOMAINreplace-with-a-domain-you-control uv run theHarvester -d $AUTHORIZED_DOMAIN -b crtsh -r resolvers.txt其中resolvers.txt由你自行创建每行一个解析器 IP1.1.1.1 8.8.8.8 9.9.9.9从 实现逻辑 可以看到-r的值会先被当作路径探测若文件存在则逐行读取为解析器候选否则按逗号切分为 IP 列表最终统一交给normalize_resolver_addresses校验。注意-r与--dns-resolvers仅选择解析器而不启用解析动作不能同时传值二者会触发冲突校验theHarvester/main.py#L481-L482。解析结果中主机名与 IP 采用hostname:IP形式合并展示未解析成功的主机名是否保留取决于其来源是否声明retains_unresolved_hostnames如 hackertarget、rapiddns 等来源保留未解析主机名。刻意挑选数据源先看数据源矩阵参考 README 的 Discovery Sources 一节找到能返回你所需结果类型的数据源。不同来源的能力routes各不相同例如crtsh/certspotter只产出子域urlscan同时覆盖子域、IP、ASN 与 URLrocketreach只产出邮箱与 URL来源能力表。从小数据源集合起步-b all会联系大量相互独立的服务从 resolve_sources 的实现看它展开为所有 P0 被动来源的并集这会快速消耗各服务配额也让某个提供方失败时更难定位问题。默认情况下-b all也只覆盖 P0 被动来源P1 DNS 与 P2 直接交互类来源必须显式选择README。使用theHarvester -h查看当前选项与数据源列表参数解析器会动态列出全部支持来源theHarvester/main.py#L373-L382这是最权威的当前版本支持什么清单。能力选择器capability selectors除了显式来源名-b还支持subdomains、emails、ips、asns、urls、people、breaches七个能力选择器。多个选择器取并集resolve_sources决定运行哪些来源但不会过滤来源返回的其他字段# 运行所有能贡献子域的数据源 uv run theHarvester -d example.com -b subdomains # 混合能力选择器与显式来源名 uv run theHarvester -d example.com -b emails,urls,certspotter常用调优参数速查参数默认值作用-l, --limit500每个支持限额的来源最多请求的结果数0表示不限本地结果数与页数上限直至提供方穷尽枚举选项-S, --start0支持分页的来源的结果偏移量-j, --source-workers3同时运行的来源最大数量-q, --quiet关抑制缺失 API Key 警告并跳过读取 api-keys 文件-v, --verbose关显示诊断信息需要说明的是-l 0只是移除本地共享的结果上限提供方配额与运行时安全防护依然生效若某个来源被提供方或安全限制截断但已保留部分结果运行会保留这些结果并将该来源标记为partial并记录停止原因README。边界与责任提示本文所有命令均使用 IANA 保留的example.com展示语法被动提供方仍然会收到该目标字符串请仅将其替换为你在授权范围内的目标。主动能力-rDNS 解析、-c暴力枚举、-n反查、--dns-recursive-depth递归解析、-t接管检查、-aAPI 路径扫描、--screenshot截图、--vhost虚拟主机都对应明确的网络活动分级P0 被动 / P1 DNS 交互 / P2 直接交互见 theHarvester/lib/source_catalog.py仅在授权范围内启用。活动开展前请阅读 Responsible use and scope解析器、代理、限额与动作细节见 Operator workflows报告格式与本地数据JSONL/SQLite 表结构、harvest-yields分析命令见 Results and Local Data。【免费下载链接】theHarvesterE-mails, subdomains and names Harvester - OSINT项目地址: https://gitcode.com/GitHub_Trending/th/theHarvester创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表