概要 †
リバースコネクトを使用した簡易TCPポートフォワーダ(バウンサー)
ずっと前に作ったバウンサーです。
- 保護されたネットワーク内で sshd と httpd が動いていて、
外部からはhttpdにのみアクセスでき、sshdにはアクセスできないが、
内部からは外部に自由にアクセスでき、
httpd経由でrevcon_svr.plを実行できる(revcon_svr.plをcgiのようにしてクライアントの要求に応じて随時起動させられる)時、
保護されたネットワーク内のsshdに外部からアクセスする
- 保護されたネットワーク内でsshdとpostfix(MTA)が動いていて、
外部からは一切アクセスできないが、
内部からは外部に自由にアクセスでき、
postfixの.forwardのパイプを使用してrevcon_svr.plを実行できる時、
保護されたネットワーク内のsshdに外部からアクセスする
時などに使用すると良いかも・・。
単純に接続を転送しているだけなのでHTTPプロキシを超えたりはできません。
保護されたネットワークでリバースコネクトに対応したVPNデーモンを常駐させられる場合や、
httptunnelなどのリバースモードが使用できる場合は、そちらを使用したほうがよいと思います。
使用する場合は事前にネットワーク管理者さんなどに、使用しても良いか確認されることをお勧めします。
revconの作者は、revconの利用によって生じたいかなる責任も負いません。
Perlのみで作ってあるので割とどこでも動作します。
使用する場合は先にrevcon_cli.plを起動してください。
revcon_cli.plは、revconサーバーからの接続用バインド先IPアドレス:revconサーバーからの接続用バインド先ポート と ローカルリスニング用バインド先アドレス:ローカルリスニング用バインド先ポート の両方でリスニングをします。
revcon_svr.plは、接続先IPアドレス:接続先ポート と revcon_cliIPアドレス:revcon_cliポート の両方に接続します。
クライアントソフト(sshなど)でrevcon_cli.plの ローカルリスニング用バインド先アドレス:ローカルリスニング用バインド先ポート に接続すれば、
revcon_svr.plの 接続先IPアドレス:接続先ポート に接続が転送されます。
参照 †
書式 †
revcon_svr.pl <接続先IPアドレス> <接続先ポート> <revconクライアントIPアドレス> <revconクライアントポート>
revcon_cli.pl <revconサーバーからの接続用バインド先IPアドレス> <revconサーバーからの接続用バインド先ポート> <ローカルリスニング用バインド先アドレス> <ローカルリスニング用バインド先ポート>
ToDo †
- サーバー側のスクリプトの引数をクエリ文字列から取ってこれるようにする
状態 †
開発停止中公開中