moloch--/godns
GitHub: moloch--/godns
GodNS 是一款快速可配置的中间人 DNS 代理工具,专为渗透测试人员、逆向工程师和恶意软件分析师提供 DNS 记录伪造与请求拦截能力。
Stars: 40 | Forks: 5
# GodNS
一款受 [DNSChef](https://github.com/iphelix/dnschef) 启发、为渗透测试人员、逆向工程师和恶意软件分析师设计的快速且可配置的中间人攻击(attacker-in-the-middle)DNS 代理。它允许使用自定义值选择性地替换任意域名的特定 DNS 记录,并可用于将流量重定向到其他主机。GodNS 可以伪造 `A`、`AAAA`、`CNAME`、`PTR`、`MX`、`NS`、`SRV`、`SOA` 和 `TXT` 记录。它还可用于拦截特定域名的 DNS 请求。
[](https://github.com/moloch--/godns/actions/workflows/golangci-lint.yml)
[](https://github.com/moloch--/godns/actions/workflows/build-check.yml)
[](https://github.com/moloch--/godns/actions/workflows/unit-tests.yml)
[](https://github.com/moloch--/godns/actions/workflows/autorelease.yml)
### 下载
下载[适用于您平台的最新版本](https://github.com/moloch--/godns/releases/latest)。
### 基本用法
基本规则可以通过命令行传递,并使用 glob 匹配域名,利用提供的值伪造响应。例如,伪造多个域名的 `A` 记录:
```
godns --rule-a "microsoft.com|127.0.0.1" --rule-a "google.com|127.0.0.1"
```
你可以利用 glob 匹配来替换所有域名的所有 `A` 记录:
```
godns --rule-a "*|127.0.0.1"
```
替换某个域名及其所有子域名的 `A` 记录:
```
godns --rule-a "example.com|127.0.0.1" --rule-a "*.example.com|127.0.0.1"
```
### 高级用法
对于更高级的应用场景,可以提供配置文件。配置文件是一个包含规则列表的 JSON 或 YAML 文件。除了 glob 匹配外,配置文件条目还支持正则表达式匹配。有关更多详细信息,请参阅本仓库中的示例配置文件。请注意,如果同时提供,命令行参数将覆盖配置文件中的值。此外,某些记录类型(如 `SOA` 和 `SRV`)只能通过配置文件进行伪造。
### 支持的平台
GodNS 是一个独立的静态编译二进制文件,几乎可以在所有操作系统和 CPU 架构上运行:
- Linux (386, amd64, arm64, mips, mips64, mips64le, mipsle, ppc64, ppc64le, riscv64)
- macOS (amd64, arm64)
- Windows (386, amd64, arm64)
- FreeBSD (amd64, arm64)
- OpenBSD (amd64, arm64)
- NetBSD (amd64, arm64)
- DragonFlyBSD (amd64)
- Plan 9 (amd64)
- Solaris (amd64)
- iOS (arm64)
- Android (arm64)
标签:DNS代理, DNS欺骗, EVTX分析, Go, Homebrew安装, Ruby工具, 中间人攻击, 日志审计, 流量劫持