需求:
在android手機上開啟個ssh通道桑包,然后端口轉(zhuǎn)發(fā)到目標地址上,從而實現(xiàn)android手機上的某個固定端口出去的流量都轉(zhuǎn)移到目標ip上狈定。
使用的是JSch庫
new Thread(new Runnable() {
@Override
public void run() {
JSch jSch = new JSch();
try {
//ssh登錄連接的用戶名和ip
Session session = jSch.getSession(sshusername, sship);
//ssh登錄連接的密碼
session.setPassword(sshpassword);
Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
//端口轉(zhuǎn)發(fā) 監(jiān)聽本地的某個端口诚卸,然后轉(zhuǎn)移到遠程的某個ip和端口上
session.setPortForwardingL(Integer.parseInt(localport),remoteip,Integer.parseInt(remoteport));
} catch (JSchException e) {
e.printStackTrace();
}
}
}).start();
實現(xiàn)效果是:
本地訪問127.0.0.1:端口轉(zhuǎn)發(fā)監(jiān)聽的本地端口峭咒,就能轉(zhuǎn)到目的地址上