簡単な方法として、plinkコマンドラインを呼び出してトンネルを作成し、アプリケーションからローカルホストに接続できます。PlinkはPuttyのコマンドラインバージョンであり、豊富なオプションがあり、非常に人気があり、安全で、テスト済みのアプリケーションです。
優れたUIを使用してそれを実行するアプリケーション(SSHトンネルクライアント)があります。少しバグがありますが、問題なく動作します。
この例では、リモートマシンのポート80をローカルホストのポート8000に接続します。
plink.exe -L 127.0.0.1:8000:127.0.0.1:80 -C -pw 1234 -2 -l user myserver.com
この方法で私がお勧めしないのは、コマンドラインにパスワードが含まれていて、どのプロセスマネージャーでも簡単に確認できることです。plinkの良いところは、プロジェクトに統合できるようにソースコードを利用できることです。
編集
ここで、アプリケーションが「yahoo.com」に接続してデータを取得するとします。アプリケーションを変更することはできませんが、中間者攻撃を設定することはできます。次のコマンドを実行できます。
plink.exe -L 127.0.0.1:80:google.com:80 -C -pw 1234 -2 -l user myserver.com
myserver.comは、トンネルを実行してgoogle.comにアクセスできるSSHサーバーです。次に、管理者としてC:\ windows \ system32 \ drivers \ etc \にあるhostsファイルに移動し、次のエントリを追加します。
127.0.0.1 yahoo.com
ブラウザで設定をテストし、yahoo.comに移動すると、google.comページが表示されます。単純に見えますが、本当の力はすべてのトラフィックがmyserver.comを通過していることです。
いくつかの利点は
- yahoo.comへのすべてのトラフィックは暗号化されています
- この方法でプロキシ制限を回避できます
- myserver.comに外部から接続できる場合は、myserver.comが配置されているイントラネットにアクセスできます。
- 接続のデータをログに記録または変更できます
この方法では、証明書認証のためにHTTPS接続で問題が発生する可能性が非常に高いことに注意してください。