SSH的三种端口转发
1、本地转发
本地转发,顾名思义就是把本地主机端口转发到远程主机端口。
ssh -L 本地主机端口:远程主机:远程主机端口
举例:ssh -L 50000:www.google.com:80 user@host
当成功执行上面的命令之后,访问本地的50000端口,就等同于访问 www.google.com 的 80 端口。
这次是通过ssh主机来安全转发数据的,没有人知道你和远程主机之间传输了何种数据。
现在就算你能访问 www.google.com,你却依然不能其它主机,比如www.youtobe.com。
想要更全面的端口转发功能,还需动态转发。
2、远程转发
设想你在本机开发了一个web应用,想拿给别人看看,但现在你却处在内网,怎么办?
远程转发,顾名思义就是把远程主机端口转发到本地主机端口。
ssh -R 登录主机端口:远程主机:远程主机端口
举例:ssh -R 8080:localhost:80 user@host
当成功执行上面的命令之后,访问ssh主机的 8080 端口就相当于访问 localhost:80
3、动态转发
动态转发无需指定远程主机及其端口
这个端口号需要在本地通过协议指定,该协议就是简单、安全、实用的 SOCKS 协议。
ssh -D 本地主机:本地主机端口
举例:ssh -D 127.0.0.1:50000 user@host
通过协议协商后,告诉你要访问的远程主机及端口,然后你与远程主机之间的数据就通过ssh主机传输了。
最常见的用途:在浏览器中设置代理类型为 SOCKS5,主机及端口:127.0.0.1:50000。
4、微信公众号调试
外网环境:
112.x.x.x 主机有固定ip和域名
内网环境
192.168.1.251
内网访问微信服务器,需要在251执行
ssh -D 0.0.0.0:1085 -l root 112.x.x.x -p xx -Nf -o ServerAliveInterval=60
http设置socks代理
public HttpClientExecuteWithSocks() {
Registry<ConnectionSocketFactory> reg = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.INSTANCE)
.register("https", new CustomConnectionSocketFactory(SSLContexts.createSystemDefault()))
.build();
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(reg);
this.httpclient = HttpClients.custom()
.setConnectionManager(cm)
.build();
InetSocketAddress socksaddr = new InetSocketAddress("192.168.1.251", 1085);
this.httpClientContext = HttpClientContext.create();
this.httpClientContext.setAttribute("socks.address", socksaddr);
}
SSH的三种端口转发的更多相关文章
- SSH高级应用(端口转发)
转发自:http://www.cnblogs.com/sting2me/p/5167730.html 基于SSH协议的端口转发 [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透 ...
- Linux SSH隧道技术(端口转发,socket代理)
动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...
- Access、Trunk和Hybrid三种端口模式
网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...
- 交换机三种端口模式Access、Hybrid和Trunk
以太网端口有 3种链路类型:access.trunk.hybird 什么是链路类型? vlan的链路类型可以分为接入链路和干道链路. 1.接入链路(access link)指的交换机到用户设备的链路, ...
- SSH远程登录和端口转发详解
SSH远程登录和端口转发详解 介绍 SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境. SSH 只是协议,有多种实现方式,本文基于其开源实 ...
- [转帖]SSH 的 三种代理功能.
https://www.zhihu.com/people/skywind3000/activities 之前用过frp 知道 ssh 有一 反向代理的功能 没想到 还有这么多高级功能 收藏一下. ss ...
- ssh tunnel 三种模式
环境介绍: 主机 位置 公网 内网IP 角色 host-a 局域网1 否 192.168.0.1 ssh client host-b 局域网2.公网 是 192.168.1.1 ssh server ...
- 用SSH解决大局域网反向端口转发问题
本文作者Tony Lee,转载自FreeBuf.COM 自从家里换了联通光纤后,联通就在我家宽带出口前搭了一个路由器,我家也彻底沦为192.168.1.0/24段的局域网了,带来的问题就是在外网无 ...
- 【转】实战 SSH 端口转发
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...
随机推荐
- HttpWebRequest - Asynchronous Programming Model/Task.Factory.FromAsyc
Posted by Shiv Kumar on 23rd February, 2011 The Asynchronous Programming Model (or APM) has been aro ...
- linux-centos下持续集成工具jenkins部署使用教程
centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...
- System.Runtime.InteropServices.COMException 检索COM类工厂中CLSID{xxxxxxxxx}的组件时失败解决方法
iis7.5中设定应用程序池中<进程模型>中<标识>为localSystem 提示:System.Runtime.InteropServices.COMException: 命 ...
- 仿迅雷播放器教程 -- C++ windows界面库对比(11)
从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...
- [Converge] Weight Initialiser
From: http://www.cnblogs.com/denny402/p/6932956.html [, ] fully connected w = tf.Variable(tf.truncat ...
- 深入Java内存模型之阅读理解(2)
锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制.锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息. 下面是锁释放-获取的示例代 ...
- python socket 实现的简单http服务器
预备知识: 关于http 协议的基础请参考这里. 关于socket 基础函数请参考这里. 关于python 网络编程基础请参考这里. 一.python socket 实现的简单http服务器 废话 ...
- 十一、K3 WISE 开发插件《VB插件开发如何代码调试 - 步骤讲解》
=================================== 目录: 1.配置代码调试启动程序kdmain.exe 2.设置断点 3.触发调试 4.变量跟踪 ================ ...
- MacOS install configure php-fpm
php-fpm 是预装在mac os上的,你只需要配置就好了.这个服务监听9000端口. 1. 为配置文件准备一些目录 mkdir -p /usr/share/php/var/run mkdir -p ...
- NHibernate.3.0.Cookbook第一章第五节Setting up a base entity class
Setting up a base entity class设置一个实体类的基类 在这节中,我将给你展示怎么样去为我们的实体类设置一个通用的基类. 准备工作 完成前面三节的任务 如何去做 1.在Ent ...