Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
FakeDns — 正規表現ベースのPython MITM DNSサーバー。DNSリバインディング攻撃に対応。 | Kitploit
ツール/GitHubGitHub/crypt0s/fakedns
ウェブセキュリティネットワークセキュリティペネトレーションテストDNSファジングレッドチーミングDNS分析
GitHubcrypt0s/fakedns

FakeDns

正規表現ベースのPython MITM DNSサーバー。DNSリバインディング攻撃に対応。

リポジトリを見る
5811454年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

FakeDns

2020/04/14更新 - Python 2サポートを削除し、コードをPython3に変更しました

ラウンドロビンと改良されたオプションに対応しました!

バグ報告: @cryptos - 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]

answer には IP アドレスまたは文字列 self を指定できます。 self という糖衣構文は、現在のマシンのローカルIPアドレス(例: 192.168.1.100)に変換されます。

一致しない場合、DNSサーバーはローカルマシンで設定されているDNSサーバーを使ってリクエストの解決を試み、リクエストしたユーザーに代わってそのサーバーにリクエストをプロキシします。

サポートされているリクエストタイプ

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

開発中のリクエストタイプ

root@kitploit:~
- MX
- CNAME

その他

root@kitploit:~
- DNSリバインディングに対応
- ラウンドロビンに対応

ラウンドロビン

ラウンドロビンルールが実装されています。クライアントが一致するルールをリクエストするたびに、FakeDNSはルールで指定されたIPリストの中から次のIPを返します。
IPのリストはカンマ区切りです。

例:

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

これは robin.net のラウンドロビンルールで、1.2.3.4、1.1.1.1、2.2.2.2 を指すレスポンスを返します。robin.net エントリに対してクライアントからリクエストがあるたびに、その順序で順番に返します。

注: これらのIPはレスポンス内でクライアントにリストとして含まれるわけではありません。レスポンスで返るのは依然として1つの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は2番目のIPである 4.5.6.7 を返し始めます。

ここではアドレスのリストを使用でき、FakeDNSは「通常の」ルールと同様にそれらをラウンドロビンで返します。

DockerでのFakeDNSのテスト

(追加の手順なしではlocalhostのみ)

DockerでFakeDNSをテスト/開発することは、多くの成功を収めています。最新のUbuntuインストールではポート53でDNSサービスがすでに実行されているため、ネイティブで実行するよりも簡単です。

試してみたい場合は、次の手順に従えばそれほど手間をかけずに試すことができます:

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 を実行して、上記と同じテストを使用してください。

ツールをダウンロード