IP アドレスとポートの両方でリモート SMB サーバーを指定することで、他の OS で簡単にできることを Windows で実行できる小さなツールを実装したいと考えています。ネイティブでは、Windows は 445 または 139 (その選択) 以外のポートでは SMB を実行しません。Microsoft が Windows に追加し続けているさまざまな悪いことに対する回避策でモグラたたきをするのにはうんざりです。 SSH ポート フォワーディング経由。
私が念頭に置いているのは、次のようなことができる小さなコマンドラインアプリです
netsubst サーバー名 -i IP -p PORT
これはドライバーと連携して機能しますか?dll? SMB リダイレクタとして Windows にフックしますが、接続先を見つけるためにネットワーク上で検索する代わりに、netsubst によって設定されたサーバー名のテーブルをスキャンします。だから私はできるだろう
net use X: //サーバー名/共有名/ユーザー:ユーザー名 *
通常の方法で、Windows が見つけたマシンのポート 445 または 139 で //servername を検索する代わりに、IP、ポート PORT に直接アクセスします。IPがたまたま127.0.0.1で、PORTがたまたまssh経由で別の場所に転送されたものであった場合、それはすべてうまくいくので、Windowsがローカルホストポート139へのアクセスの周りに置く愚かな壁に対処する必要がなくなります。 445。
私が必要としているのは、VirtualBox がホスト ファイル共有を行うために使用する //vboxsvr ゲスト追加機能に似たものであると考えていますが、完全なバックエンドを必要としないため、おそらくもっと単純です。 d 交換する必要があるのは、リモート SMB サーバーへの初期接続を確立する部分です。しかし、VirtualBox のソース コードに取り掛かる前に、誰かがこれを行うためのより簡単な方法を提案したり、SMB リダイレクタの実装に関する Microsoft のドキュメントを教えてくれたりできますか?