跳到主要内容
项目档案命令行工具

xsser/dig CLI 工具:安装、命令与使用场景

dig是仅支持macOS的本地dig命令行包装器,无需修改真实DNS配置即可为指定域名钉死自定义TXT记录,支持本地DNS测试、自动化渗透测试辅助等场景,包含项目介绍、安装方式、使用说明与实现特点。

95ShellStar 于 2026年9月12日2026年9月16日 更新

AI 总结

dig是macOS平台专属的本地dig命令行包装器,无需修改真实DNS配置即可为指定域名钉死自定义TXT记录,支持本地DNS测试与自动化渗透测试辅助场景。

中文项目介绍

dig是仅支持macOS系统的本地dig命令行包装器,底层完全调用系统自带的/usr/bin/dig执行真实DNS查询,不修改任何真实DNS配置、不触碰云厂商服务,仅在终端输出末尾追加本地伪造的TXT记录,所有状态仅存储在本机缓存目录,不会影响网络解析环境。 项目解决了本地测试、渗透测试场景下需要临时为特定域名返回指定TXT记录,又不想修改zone文件、污染真实DNS解析路径的痛点,实现纯本地生效的域名响应伪造,无需额外部署DNS服务。 适用场景包括本地开发环境模拟域名TXT验证记录、辅助DeepSeek/GLM等AI工具执行自动化渗透测试、本地DNS解析相关功能的调试验证。工具无第三方pip依赖,仅需系统预装/usr/bin/dig和/usr/bin/python3,支持通过自定义参数钉死/删除指定域名的TXT内容,仅对TXT/ANY类型查询生效,不会改写系统dig的ANSWER SECTION与网络解析路径。

详细信息与使用说明

1. 项目定位与用途

本项目是macOS平台专属的本地dig命令行包装器,底层完全依赖系统自带的/usr/bin/dig执行真实DNS查询,核心能力是在终端输出末尾追加本地伪造的TXT记录,所有修改仅对当前命令输出生效,不会影响真实DNS解析环境,主要用于本地DNS测试与自动化渗透测试辅助场景,无需额外部署任何DNS服务。

2. 解决的问题

解决了本地测试、渗透测试场景下需要临时为特定域名返回指定TXT记录,又不想修改真实DNS配置、编写zone文件、触碰云厂商DNS服务的痛点,避免伪造DNS响应时污染网络解析环境,实现纯本地生效的域名响应伪造,降低测试门槛与配置成本。

3. 适用场景

适用于三类核心场景:一是本地开发环境模拟特定域名的TXT验证记录,无需修改真实DNS配置即可完成域名验证逻辑调试;二是辅助DeepSeek/GLM等AI工具执行自动化渗透测试,通过伪造域名响应信息引导测试流程;三是本地DNS解析相关功能的调试验证,快速模拟特定TXT记录返回结果。

4. 安装方式

仅支持macOS系统,需预装系统自带的/usr/bin/dig和/usr/bin/python3,无第三方pip依赖。安装步骤为克隆仓库后执行./scripts/install.sh,安装脚本会自动校验依赖、备份原有~/.local/bin/dig文件,将包装器部署到~/.local/bin目录,需将export PATH="$HOME/.local/bin:$PATH"加入环境变量并确保该路径排在系统dig之前,已打开的shell可执行rehash刷新命令缓存。恢复原有dig可执行./scripts/restore.sh。

5. 使用方式

支持两种方式设置钉死TXT记录:一是通过自定义参数,执行dig +txt="<value>" TXT <域名>即可为指定域名设置TXT内容,+ttl=<秒>可自定义展示TTL(默认600秒),含空格的值需加引号包裹;二是位置参数方式,执行dig <域名> <value>即可设置。执行dig +txt= TXT <域名>可删除对应域名的钉死记录。仅对TXT/ANY类型查询生效,子域名查询会匹配父域设置的钉死记录,+short模式下仅返回带引号的TXT值。

6. 实现特点与限制

工具核心逻辑由src/dig_wrapper.py实现,自定义的+txt、+cookie参数会在传递给系统dig前被剥离,不会出现在系统dig的参数列表中。本地伪造的TXT记录仅存在于当前命令的输出里,不会改写系统dig的ANSWER SECTION,也不会修改真实DNS网络路径。查询状态与钉死的TXT内容存储在~/.cache/dig-zcode-wrapper本地缓存目录,不会对外暴露。限制为仅macOS平台有效,且需保证~/.local/bin在PATH中排在系统dig之前。

思维导图

dig macOS本地dig包装器
核心定位
macOS专属dig包装器
基于系统/usr/bin/dig实现
无第三方pip依赖
核心功能
钉死指定域名TXT记录
本地输出追加伪造TXT
仅当前命令输出生效
安装与恢复
install.sh部署到~/.local/bin
restore.sh还原原有dig
需配置PATH优先级
使用方式
+txt参数设置/删除TXT
位置参数设置TXT
仅TXT/ANY查询生效
技术实现
剥离自定义参数再传系统dig
状态存本地缓存目录
不修改ANSWER SECTION
限制条件
仅macOS系统有效
需PATH优先级正确
不修改真实DNS配置

常见问题

这个工具会修改我的真实DNS配置吗?

不会。工具仅在当前命令的终端输出末尾追加本地伪造的TXT记录,不修改任何真实DNS配置、zone文件,也不会触碰云厂商DNS服务,所有修改仅对当前命令输出生效,不会影响网络解析环境。

支持Windows或Linux系统吗?

仓库中明确说明仅支持macOS系统,依赖系统自带的/usr/bin/dig和/usr/bin/python3,无第三方pip依赖,其他系统无法正常使用。

安装后dig命令不生效怎么办?

需确保~/.local/bin路径在PATH环境变量中排在系统/usr/bin之前,已打开的shell可执行rehash刷新命令缓存;若仍不生效,可直接调用/usr/bin/dig使用系统原生dig命令。

钉死的TXT记录会长期留存吗?

不会。钉死的TXT记录仅存储在本地缓存目录,仅对当前终端的dig查询命令生效,不会污染网络解析环境,执行dig +txt= TXT <域名>即可删除对应域名的钉死记录。