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


はじめに
今さらな感じですが、シンプルな TFTP サーバです。

まぁ、あまり使いどころはないかもしれないですけど・・・

元々、VB6.0+VC++6.0/ATL-COM で TFTPサーバ を作っていたのだが、regsvr32.exeでCOMを登録したりといろいろと面倒だったので、.NET Framework で作り直したつもりだけど、.NET Framework2.0 で作り直していた事を忘れていて、.NET Framework4.0 で作り直した感じです。




usage sTFTPnet.exe
C:\>sTFTPnet.exe
sTFTPnet.exe ver 3.1.0.0
                            created by active@window.goukaku.com

      Compiled ver.v4.0.30319
           Run ver.v4.0.30319(Win64)
sTFTPnet.exe [options]
  -Path <<publicpath>>
  -ServerHost <<serverbind>>
  -ServerPort <<serverport>>(Default=69/udp)
  -DataPort <<dataPort>> (0: efemeral(default)
  -Timeout <<sec>>(>3)(Default=30)
  -Registry
  -Install
  -Uninstall
  -Service
  -GUI
C:\>sTFTPnet.exe -GUI」は sTFTPnetGUI.exe を呼びなおしているだけ



usage sTFTPnetGUI.exe
内部的に sTFTPnet.exe を呼び出す GUI ラッパー
sTFTPnetGUI.exe の画面



動作環境
Microsoft .NET Framework4.0


インストール方法と使用方法

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

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

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

「sTFTPnet.exe -install」で NT サービスにインストール後、NT サービスとしてスタートしてください。

「sTFTPnet.exe -uninstall」で NT サービスからアンインストールできます。

NT サービス・モードの場合、設定はレジストリ「HKEY_LOCAL_MACHINE\SOFTWARE\sTFTPnet」から取得します。

それ以外の引数だと、コンソールモードで動作します。

レジストリ「HKEY_LOCAL_MACHINE\SOFTWARE\sTFTPnet」下に設定を書き込んでおき、「sTFTPnet.exe -register」という方法で、起動する事もできます。
(NTサービスの場合は、レジストリからのみ設定を受け継ぐ)

レジストリのサンプルとして「sTFTPnet.reg」を同梱しています。

「sTFTPnetGUI.exe」で GUI モードで起動します。

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


動作モード(ノーマル)
データポートが、動的になるモード。
通常の TFTP プロトコルの動作仕様

C:\>sTFTPnet.exe -path c:\z
2019/01/06 02:16:23 Server=:69
DataPort=0
Rootpath=c:\z
Timeout=30(sec)
Press Return Key and Exit.
2019/01/06 02:16:38 Connected From (::ffff:192.0.2.7:1108)(File=c:\z\a.txt)(Write)
2019/01/06 02:16:41 Closed at (::ffff:192.0.2.7:1108)



動作モード(ノーマル/固定)
データポートを一つのポートに固定するモード(サービスポートとは別)。
通常の TFTP プロトコルっぽく、かつ Firewall 経由での通信での設定が比較的簡単

C:\>sTFTPnet.exe -path c:\z -dataport 2000



動作モード(サービスポート共有)
データポートを一つのポートに固定するモード(サービスポートと同じポートとする)。
Firewall 経由での通信での設定が簡単

C:\>sTFTPnet.exe -path c:\z -dataport 69
2019/01/06 02:14:02 Server=:69
DataPort=69
Rootpath=c:\z
Timeout=30(sec)
Press Return Key and Exit.
2019/01/06 02:14:06 Connected From (::ffff:192.0.2.7:1107)(File=c:\z\a.txt)(Write)
2019/01/06 02:14:09 Closed at (::ffff:192.0.2.7:1107)
quit
2019/01/06 02:15:47 Server Stoped



免責など
当然ですが、悪用厳禁です。

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

修正BSDライセンスで配布します。


Version3.1.0.0DownLoad(sTFTPserverNET.lzh as 210,017byte) (sTFTPserverNET.lzh.base64)

履歴



mail to active@window.goukaku.com