9

Linux サーバーには、クライアントが接続するためのアドホック ワイヤレス ネットワークがあります。接続したら、ユーザーが入力した URL に関係なく、常に独自の Web サーバーにリダイレクトされるようにします。大規模な解決策は、完全な DNS サーバー (BIND または同等のものを使用) をセットアップすることですが、それはやり過ぎのようです。必要なのは、DNS 要求をリッスンし、常に同じ IP アドレスで応答する単純なプログラムだけです。

一通り探しましたが、一匹も見つけられませんでした。他のスクリプト言語をインストールしたくないので、できれば C または Perl で記述します。

4

4 に答える 4

10

Net :: DNS :: Nameserverを使用して、独自の応答ハンドラーを作成します。

Cについては、以下を参照してください。

于 2012-06-14T16:22:19.917 に答える
7

dnsmasqの使用をお勧めします。必要以上にフル機能を備えていますが、非常によくできていて、小さく、インストールも簡単です。指定する必要がある唯一の構成は、--address='/#/1.2.3.4'すべてのクエリ (他のクエリと一致しないクエリ) に応答するように指示することだけです。ルール) をアドレス 1.2.3.4 に設定します。dnsmasq はよく知られており、保守されており、おそらく Net::DNS::Nameserver よりも堅牢なサーバーです。

于 2012-06-14T16:44:23.550 に答える
2

マルウェアを元に戻すときに、 fakedns.pyを使用しました。状況によっては制限が多すぎる場合があります。

于 2012-06-14T16:41:03.310 に答える
2

他の関連する質問で答えたように、BSD ライセンスの下で就職の面接用に C++ で基本的な DNS サーバーを作成しました。

単体テストは行っていませんが、コードはかなりきれいだったと思います:-( Dig でテストしましたが、DNS プロトコルの理解 + 実装 + ドキュメントの作成に約 1 週間かかりました。

延長したいという人がいれば、さほど難しいことではないと思います。演習で尋ねられたように、逆クエリのみをサポートしていると思うからです。

コードは次の場所にあります: http://code.google.com/p/dns-server/

移行先: https://github.com/tomasorti/dns-server

于 2014-06-27T07:35:47.157 に答える