Firewallと親和性の高いTFTPサーバを作った
Firewallと親和性の高いTFTPサーバを作った
TFTP プロトコルは、最初のクライアント→サーバの「書込/読込要求」のみ 69/udp へ通信で、その後のデータのやり取りのパケットは、highポート間通信となっている。
今回、.NET4で作り直したtftpサーバは、dataportをserverポートと同一にする事で、データ交換のパケットも 69/udpで通信する事もできる。
元々、VB6&VC6++(ATL-COM)で作っていたものを、.NET2 で作り直した事を忘れて .NET4 で作り直した。
sTFTPnet のインストール
- .NET4で作り直したtftpサーバからダウンロードする。
- lzh形式を解凍する。
- 実行する。
- 以上
sTFTPnet の使い方
通常は、CUI なプログラムで動作させることができる
CUI プログラムなので、コマンドプロンプトで引数無しに実行すれば usageがでる。
C:\>sTFTPnet.exe
sTFTPnet.exe ver 3.0.0.0
created by [email protected]
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
必須のオプションは、「-path」で指定する公開ディレクトリ。
- ServerHost の既定値は「0.0.0.0」と「0::0」(IPv4/v6 の任意のアドレス)で待機するようになる
- ServerPort の既定値は「69」
- DataPort の既定値は「0」。エフェメラルポートなので、任意の highポート
- Timeout は通信での相手の返事待ち時間。既定値は30秒
通常の使い方
とりあえず「-path」だけ指定すれば、一般的な TFTPサーバ(データはhigh⇔highで通信する)のようにふるまう。
一応「ServerPort」は69以外にできるけど、一般的な TFTPクライアントが接続先として69以外を指定できないので、あまり意味はないかもしれない。
「Timeout」の既定値の「30秒」は少し長すぎるかもしれないので、そう思ったら指定してくれ
Firewallと親和性を高める
「-dataport 69」とすると、データ通信も 69/udp で通信するようになるので、Firewall と親和性が高くなると思う。
つまり、high⇔low(69/udp) は開いている可能性はそれなりにあるが、high⇔high間は、ほとんど開いていないだろう。
このモードの場合は、Firewallでhigh⇔low(69/udp)だけ開ければ TFTP が使えるようになる。
Firewallと親和性を高める2
「dataport」を「0」と「ServerPort」以外にすると、データ通信は、そのポート固定となるので、
「serverPort」と「dataPort」の通信をFirewallで開けてあげれば、Firewall越しに通信できる。
Firewallと親和性を高める2(イメージ)
レジストリ
「-Registry」で、設定をレジストリ「HKLM\Software\sTFTPnet」から読むようにできる。
または、NT サービスとして動作する場合は、レジストリからのみ設定は読まれる
NTサービスとして動作させる
高い権限で以下を実行すると、NT サービスとして登録される。
sTFTPnet.exe -install
NTサービスとして動作する場合、設定はレジストリ「HKLM\Software\sTFTPnet」から読まれる。
同梱しているstftp.regを参考にレジストリに設定を記述すること
- 手動
- アカウントは「Network Service」
なので、以下は「Network Service」でアクセス出来るように権限変更が必要
- sTFTPnet.exe 本体
- 公開ディレクトリ
- 設定が保存されているレジストリ「HKLM\Software\sTFTPnet」以下
NTサービスとして動作する際のログ
イベントログ(Application)に出力する
GUI ラッパー
GUI ラッパー「sTFTPnetGUI.exe」も同梱した。
使用条件
当然ですけど、悪用厳禁ですよ。
Author And Source
この問題について(Firewallと親和性の高いTFTPサーバを作った), 我々は、より多くの情報をここで見つけました https://qiita.com/tomoki0sanaki/items/74afb3b7d87f2fb2d536著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .