项目简介
DNStwist MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它集成了 dnstwist 域名模糊测试工具。该服务器提供工具用于分析域名变异,帮助检测域名抢注、钓鱼攻击和企业间谍活动。它可以与 Claude Desktop 等 MCP 兼容的应用无缝集成。
主要功能点
- 域名模糊测试:使用多种算法生成与目标域名相似的变异域名,例如单字符遗漏、字符交换、同音字替换等。
- 注册状态检查:自动检测生成的变异域名是否已被注册,帮助用户快速识别潜在的域名抢注风险。
- DNS记录分析:获取变异域名的 DNS 记录(A, AAAA, MX, NS),用于分析域名的解析情况。
- Web Banner 捕获:尝试访问变异域名的 Web 服务,并捕获 HTTP Banner 信息,辅助判断域名用途。
- WHOIS 信息查询:检索变异域名的 WHOIS 信息,包括注册日期、注册商等,用于溯源分析。
- 钓鱼检测:生成网页内容模糊哈希值 (ssdeep),用于比较不同域名网页内容的相似度,辅助识别钓鱼网站。
安装步骤
- 安装 Docker: 本服务器依赖 Docker 运行 dnstwist 工具。请确保您的系统已安装 Docker。访问 Docker 官网 下载并安装 Docker Desktop。
- 全局安装 mcp-dnstwist: 打开终端或命令提示符,运行以下命令全局安装 'mcp-dnstwist' npm 包:
npm install -g mcp-dnstwist
服务器配置
要将此 MCP 服务器添加到 MCP 客户端(如 Claude Desktop),您需要编辑客户端的配置文件。以 Claude Desktop 为例,您需要修改 'claude_desktop_config.json' 文件,添加以下服务器配置:
{ "mcpServers": { "dnstwist": { "command": "mcp-dnstwist" } } }
配置参数说明:
- 'server name': 'dnstwist' (用户自定义,用于在客户端中标识该服务器)
- 'command': 'mcp-dnstwist' (MCP 服务器的启动命令,客户端通过此命令启动服务器)
- 'args': 无 (本服务器启动命令不需要额外的参数)
基本使用方法
配置完成后,在 MCP 客户端中,您可以通过调用 'fuzz_domain' 工具来使用域名模糊测试功能。
工具名称: 'fuzz_domain'
工具描述: 生成并分析域名变异,以检测潜在的域名抢注、钓鱼攻击和品牌假冒行为。
工具参数:
| 参数名 | 类型 | 必填 | 描述 | 默认值 | |-----------------|----------|------|---------------------------------------------------------|------------| | 'domain' | string | 是 | 要分析的域名 (例如: example.com) | 无 | | 'nameservers' | string | 否 | 逗号分隔的 DNS 服务器列表 (例如: 1.1.1.1,8.8.8.8) | "1.1.1.1" | | 'threads' | number | 否 | 并行处理的线程数 (建议根据系统性能调整) | 50 | | 'format' | string | 否 | 输出格式 (json, csv, list) | "json" | | 'registered_only'| boolean | 否 | 仅显示已注册的域名变异 | true | | 'mxcheck' | boolean | 否 | 检查 MX 记录 | true | | 'ssdeep' | boolean | 否 | 生成网页内容模糊哈希值 (ssdeep) | false | | 'banners' | boolean | 否 | 捕获 HTTP Banner 信息 | true |
使用示例 (在 MCP 客户端中向 Claude 提问的示例):
'请使用 dnstwist 服务器的 fuzz_domain 工具分析域名 example.com,并返回 JSON 格式的结果。'
客户端会将上述请求转换为 MCP 调用工具的请求发送给 'dnstwist' 服务器,服务器执行 'fuzz_domain' 工具并返回结果。
信息
分类
开发者工具