首页
/ FakeDns 项目使用教程

FakeDns 项目使用教程

2026-01-19 11:38:17作者:廉彬冶Miranda

1. 项目的目录结构及介绍

FakeDns 项目的目录结构如下:

FakeDns/
├── fakedns.py
├── dns_conf_example.py
├── README.md
└── requirements.txt
  • fakedns.py: 项目的启动文件,负责启动 DNS 服务器。
  • dns_conf_example.py: 配置文件示例,展示了如何配置 FakeDns。
  • README.md: 项目说明文档,包含项目的基本信息和使用方法。
  • requirements.txt: 项目依赖文件,列出了运行项目所需的 Python 包。

2. 项目的启动文件介绍

fakedns.py 是 FakeDns 项目的启动文件,主要功能是启动一个基于正则表达式的 MITM DNS 服务器,支持 DNS 重绑定攻击。以下是启动文件的主要内容和功能介绍:

import argparse
import sys
from fakedns.fakedns import DNSLogger, FakeDNS

def main():
    parser = argparse.ArgumentParser(description="Fake DNS Server")
    parser.add_argument("-c", "--config", help="Path to the configuration file", default="dns_conf_example.py")
    parser.add_argument("-l", "--log", help="Path to the log file", default=None)
    args = parser.parse_args()

    logger = DNSLogger(args.log)
    fakedns = FakeDNS(args.config, logger)
    fakedns.start()

if __name__ == "__main__":
    main()
  • argparse: 用于解析命令行参数。
  • fakedns.fakedns: 包含 FakeDNS 类的模块。
  • DNSLogger: 日志记录类,用于记录 DNS 请求和响应。
  • FakeDNS: 核心类,负责启动和管理 DNS 服务器。

3. 项目的配置文件介绍

dns_conf_example.py 是 FakeDns 项目的配置文件示例,展示了如何配置 FakeDns。以下是配置文件的主要内容和功能介绍:

rules = [
    (r'test\.com', '1.2.3.4'),
    (r'another\.domain', '5.6.7.8'),
]

default_ip = '127.0.0.1'
  • rules: 一个列表,包含多个元组,每个元组定义了一个域名正则表达式和对应的 IP 地址。
  • default_ip: 默认 IP 地址,当请求的域名没有匹配到任何规则时,将返回该 IP 地址。

通过修改 rulesdefault_ip,可以自定义 FakeDns 的行为,实现对特定域名的 DNS 解析控制。


以上是 FakeDns 项目的使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这份文档能帮助你更好地理解和使用 FakeDns 项目。

登录后查看全文
热门项目推荐
相关项目推荐