Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/crypt0s/fakedns
Web安全网络安全渗透测试DNS 模糊测试红队DNS 分析
GitHubcrypt0s/fakedns

FakeDns

一个基于正则表达式的 Python MITM DNS 服务器,支持 DNS 重绑定攻击。

查看仓库
5811454年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

FakeDns

2020年4月14日更新 - 已移除Python 2支持,代码已切换至Python3

现已支持轮询(round-robin)与改进的选项!

问题反馈: @crypt0s - Twitter

[email protected] - 邮箱

一个基于Python正则表达式的DNS服务器!

root@kitploit:~
USAGE:
./fakedns.py [-h] -c Config path [-i interface IP address] [--rebind]

dns.conf应按以下方式进行配置:

root@kitploit:~
[RECORD TYPE CODE] [python regular expression] [answer] [rebind answer]

应答可以是一个IP地址或字符串self, self这个语法糖会被转换为你当前机器的本地IP地址,例如192.168.1.100。

如果未匹配到任何规则,DNS服务器将尝试使用你本地机器上配置的DNS服务器来解析该请求,并代表请求用户将请求代理转发至该服务器。

支持的请求类型

root@kitploit:~
- A
- TXT
- AAAA
- PTR
- SOA

开发中的请求类型

root@kitploit:~
- MX
- CNAME

其他

root@kitploit:~
- Supports DNS Rebinding
- Supports round-robin

轮询(Round-Robin)

已实现轮询规则。每当客户端请求匹配的规则时,FakeDNS都会返回规则中IP列表里的下一个IP。
IP列表以逗号分隔。

例如:

root@kitploit:~
A robin.net 1.2.3.4,1.1.1.1,2.2.2.2

这是robin.net的轮询规则,每当任何客户端请求robin.net条目时,将依次返回指向1.2.3.4、1.1.1.1和2.2.2.2的响应,并按该顺序循环。

注意:这些IP不会以列表形式包含在响应中返回给客户端——响应中仍然只包含一个IP(后续可能会改变这一点)

DNS重绑定

FakeDNS支持重绑定规则,即服务器接受某个客户端对某个域名的请求达到一定次数(默认阈值为1次请求)后,会将IP地址切换为另一个不同的地址。

例如:

root@kitploit:~
A rebind.net 1.1.1.1 10%4.5.6.7

表示我们有一条rebind.net的A记录,在前10次尝试中解析为1.1.1.1。当某个已发起10次请求的客户端发起第11次请求时,FakeDNS开始返回第二个IP地址4.5.6.7。

你也可以在此处使用地址列表,FakeDNS会像"普通"规则一样为你进行轮询。

在Docker中测试FakeDNS

(仅限localhost,无需额外步骤)

我在Docker中测试/开发FakeDNS取得了很大成功,因为相比在现代Ubuntu系统上原生运行(其自带的DNS服务已经占用了53端口),Docker方式更为简便。

如果你想尝试,只需按照以下步骤操作,无需太多额外工作:

假设你位于FakeDns目录内:sudo docker run --interactive --tty --volume \pwd`:/opt/FakeDns -p 5353:53/udp python:3.8 /opt/FakeDns/fakedns.py -c /opt/FakeDns/dns.conf.example。要测试的话,可以运行 nslookup -port=5353 testrule.test 127.0.0.1,首次请求应返回 1.1.1.1`。

或者,如果你想使用docker-compose,只需运行 docker-compose up,并使用与上述相同的测试方法。

下载工具