
██╗ ██╗ ██████╗ ████████╗ ██████╗ ██████╗
██║ ██║██╔═══██╗╚══██╔══╝██╔═══██╗██╔══██╗
██║ █╗ ██║██║ ██║ ██║ ██║ ██║██████╔╝
██║███╗██║██║ ██║ ██║ ██║ ██║██╔═══╝
╚███╔███╔╝╚██████╔╝ ██║ ╚██████╔╝██║
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝
WOTOPは、あらゆる種類のトラフィックを標準のHTTPチャネル上でトンネリングするためのツールです。
標準のHTTP(S)トラフィック以外をすべてフィルタリングするプロキシがあるシナリオで有用です。他のツールでは、任意のトラフィックを通過させるプロキシの背後にいる必要がある(最初のCONNECTリクエストの後など)か、SSHでのみ機能するツールですが、本ツールにはそのような制限はありません。
リモートマシンにSSHで接続したいが、ルート権限がない場合を想定します。
7つのエンティティがあります:
プロキシがない場合、通信は次のようになります:
Client -> Client SSH process -> Target Server -> Target SSH process
このシナリオでは、提案される方法は次のとおりです:
Client -> Client SSH process -> Client WOTOP process -> Proxy -> Target WOTOP process -> Target SSH process -> Target Server
WOTOPは、すべてのデータをHTTPパケットにラップし、適切にバッファリングします。
さらに複雑なシナリオとして、外部のユーティリティサーバーがあり、プロキシの背後から別のサーバーのリソースにアクセスする必要がある場合があります。この場合、wotopは外部サーバー上で引き続き実行されますが、2番目のコマンド(使用法セクション)でlocalhostを使用する代わりに、リソースを持つターゲットマシンのホスト名を使用します。
クライアントマシン上で:
./wotop <client-hop-port> <server-host-name> <server-hop-port>
ターゲットマシン上で:
./wotop <server-hop-port> localhost <target-port> SERVER
(末尾のキーワードSERVERに注意)
SSHの場合、ターゲットポートは22になります。 これら2つが実行されたら、SSHするには次のように実行します:
ssh <target-machine-username>@localhost -p <client-hop-port>
注: キーワードserverは、接続のどの側がHTTPを介する必要があるかをwotopに指示します。
プルリクエストは大歓迎です! 😄