👌
Port Foward まとめ
概要
まだまだ使いこなせていないPortFowardの手法をまとめる。
環境
- Linux
- Windows
前提知識まとめ
- SSH オプション
- -f
- SSHをバックグラウンドで実行
- -N
- リモートコマンドを実行しないようにする
- -fオプションを指定するときは必須
- -L
- ローカルポート番号を指定
- LocalPortFowardを行うときに指定
- -f
Local PortFoward Case1
イメージ
ssh コマンド(Local Machineから実行)
ssh -L ローカルポート番号:転送先ホスト名:転送先ポート番号 ユーザ名@SSH接続ホスト名
- コマンド例
ssh -L 50080:10.10.10.1:80 test@192.168.10.10
- 補足
- 50080はローカルマシンで使用していない<font color="red">任意</font> のPort番号
- 補足
ブラウザアクセス
- 通常にアクセスできる場合(例)
http://a.test.com/login.php
- PortFowardを使用した場合
http://localhost:50080/login.php
通信の詳細
Local Port Foward Case2
イメージ
SSH コマンド(Local Machineから実行)
ssh -L ローカルポート番号:転送先ホスト名:転送先ポート番号 ユーザ名@SSH接続ホスト名
- コマンド例
ssh -L 50080:localhost:80 test@10.10.10.1
- 補足
- localhost は接続する相手環境の事
- localhostではなく10.10.10.1でも可能
- 補足
ブラウザアクセス
- 通常にアクセスできる場合(例)
http://a.test.com/login.php
- PortFowardを使用した場合
http://localhost:50080/login.php
通信の詳細
Remote Port Foward
イメージ
SSH コマンド(SSH Server から実行)
ssh -R ローカルポート番号:転送先ホスト名:転送先ポート番号 ユーザ名@SSH接続ホスト名
- コマンド例
ssh -R 13389:10.10.10.10:3389 test@10.10.10.1
- 補足
- SSHサーバーの設定(sshd_config)で GatewayPorts を yes に設定
- さらにsocatを使用することでLocal Machine を更に踏む台にすることができる
- コマンド例(Local Machine で実施)
socat tcp4-listen:3389,reuseaddr,fork TCP:127.0.0.1:13389
- コマンド例(Local Machine で実施)
- 補足
Dynamic PortFoward
イメージ
SSH コマンド(Local Machineから実行)
ssh -D ローカルポート番号 ユーザ名@SSH接続ホスト名
- コマンド例
ssh -D 9999 test@10.10.10.1
- 補足
- 使用する場合は以下のいずれかを設定する。
-
proxychains.confに
socks5 127.0.0.1 9999
- FirefoxにNetWork Settingの
Manual proxy configuration
を設定する。
-
proxychains.confに
- 使用する場合は以下のいずれかを設定する。
- 補足
通信の詳細
確認コマンド
- プロセス確認
ps -auxf | grep ssh
- ソケット確認
netstat -an | grep EST*
Windows
イメージ
Netsh コマンド(SSH Serverから実行)
netsh interface portproxy add v4tov4 listenport=ローカルポート番号 listenaddr=ローカルアドレス connectport=転送先ポート番号 connectaddress=転送先アドレス
- コマンド例
netsh interface portproxy add v4tov4 listenport=13389 listenaddr=10.10.10.100 connectport=3389 connectaddress=192.168.10.1
その他のコマンド
-
確認コマンド
netsh interface portproxy show all
-
削除コマンド
netsh interface portproxy delete v4tov4 listenport=13389 listenaddr=10.10.10.100
Discussion