これは、C# & .Net Framework 2.0/4.0 で作成しました


はじめに
DNSProxy サーバです。
特定の逆引きのみトラップして返すことができます。
それ以外の要求は、事前に指定した DNS サーバへ転送します。

NT サービスに対応しています(「sDNSProxy.exe -install」)。
一応、既定の NT サービスの起動ユーザは「Network Service」にしてあります。
(sDNSProxy.exe に実行権限、レジストリ{HKLM\Software\sDNSProxyService\}に読み取り権限が必要です)
NT サービス時は、設定情報はレジストリからのみ取得することになります。

設定
設定は、コマンドラインの引数、またはレジストリ(HKLM\Software\sDNSProxyService\ 以下)から取得します。

レジストリについては、添付の「example.reg(テキスト形式で旧来のレジストリ形式)」を参照してください。


ログ
設定によって、ログは、コンソールまたはイベントログへ出力されます。


動作環境
Microsoft .NET Framework2.0


インストール方法

まず、ランタイム(.NET Framework2.0/4.0)をセットアップします。

sDNSProxy.net.lzh をダウンロードします。

ダウンロードしたファイルを解凍しします。
(LHAは、吉崎栄泰氏が、著作権を所有)

sDNSProxy[2|4].exe を、実行します。

あとは、画面の指示に従ってください。


使用方法
起動して使ってみれば分かると思います。

当然ですが、悪用厳禁です。

C:\>sDNSProxy4.exe
usage: sDNSProxy4.exe <<Option>>
                 ver 1.1.1.0
                     created by active@window.goukaku.com

  Option:
     -ListenPort <<Port>> (Default:53)
     -SourcePort <<Port>> (Default:0[Dynamic])
     -ServiceTimeout <<Num>> (Default:5000mSec 0=Infinity)
     -ManageThreadInterval <<Num>> (Default:5000mSec)
     -EventLog (Default:Console)
     -MaxQueueCount <<Num>> (Default:0[Infinity])
     -MaxClientThreadCount <<Num>> (Default:0[Infinity])
     -MaxRecursiveCallCount <<Num>> (Default:5) (for DNS Compression)
     -LogLevel <<Num>> (Default:2) [0(None),1(Low),2(High)]
     -DNSServerHost <<Host>> (Forward DNS Server HostName)
     -DNSServerPort <<Port>> (Forward DNS Server Port)
     -Edit <<IPAddress>> <<HostName>> (Reverse Lookup Setting)
     -Edit default <<HostName>> (Reverse Lookup Setting Default)
     -Registry (Configuration From Registry[HKLM\SOFTWARE\sDNSProxyService\...])

     -Service l (NT Service Mode)(but no use{internal Only})
         configuration read Registry HKLM\SOFTWARE\sDNSProxyService\...

     -Install   (NT Service Mode Install)
     -UnInstall (NT Service Mode UnInstall)
         NT Service Install is "installutil.exe sDNSProxy4.exe"
         NT Service UnInstall is "installutil.exe /u sDNSProxy4.exe"

  example:
     c:\>sDNSProxy4.exe -Edit 127.0.0.1 \"'^>^<s^>XSStest^</s^> -DNSServerHost 8.8.8.8



仕様
NT サービスをそのまま作ると、SCM(サービス・コントロール・マネージャ)から引数なしで起動してしまうため、少しハックしています。
NT サービス登録時のコードをいじったり、NT サービスに登録直後にNTサービスの設定を保持しているレジストリの起動プログラムパスを書き換えたり・・・


削除方法
  1. NT サービスに登録していた場合は、停止し(さらに再起動が必要かも)
  2. NT サービスから登録抹消してください。
    「sDNSProxy[2|4].exe -uninstall」
    (さらに再起動が必要かも)
  3. sDNSProxy[2|4].exe を削除して、.NET Framework2.0/4.0 ランタイムを削除すればよいです。



免責など
著作権は一応保持します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。

このソフトを使用したいかなる不正使用に関する責任は、
すべて、本プログラムの利用者に属します。

ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。


当然ですが、悪用厳禁です。

プログラムの改変については、各自の責任で行う分については、自由に行って結構です。(参考になりましたメールをくれると、うれしい...(*^_^*))

ver1.1.0.0 から修正BSDライセンスで配布します。

(修正BSDライセンスにしても、あまり、ライセンス条項って変わっていないような気がするんだよなぁ〜)


Version1.1.1.0DownLoad(sDNSProxy.lzh as 82,050byte)

履歴



mail to active@window.goukaku.com