xshell配置隧道转移规则

钢铁知识库,一个学习python爬虫、数据分析的知识库。人生苦短,快用python。

xshell是什么

通俗点说就是一款强大ssh远程软件,可以方便运维人员对服务器进行管理操作,功能很多朋友们自行探索,今天只聊其中一个功能点那就是隧道转发。

隧道转移是什么

xshell隧道转移到底是干嘛的,有什么作用呢?隧道是一种技术,它允许你通过一个加密连接发送原本不安全的流量。这就像在不安全的网络上建立了一个安全的“隧道”。主要用于在不安全的网络中安全地传输数据。这种技术通过在客户端和服务器之间建立一个加密的网络连接,来保护数据的安全性和隐私性。

xshell隧道转发的三种类型:

Xshell的隧道转发功能有三种主要类型:本地端口转发(Local Port Forwarding)、远程端口转发(Remote Port Forwarding)和动态端口转发(Dynamic Port Forwarding)。下面是每种类型的详细解释:

  1. 本地拨出 Local(Outgoing)
    • 作用:将本地计算机的一个端口连接到远程服务器的一个指定端口上。
    • 应用场景:当你想从本地机器安全地访问位于远程服务器上的服务(如数据库、web服务等)时使用。
    • 工作原理:通过SSH连接,用户在本地机器上指定一个端口,Xshell会创建一个隧道,把这个本地端口上的所有数据发送到远程服务器的指定端口。
  2. 远程传入Remote(Incoming)
    • 作用:将远程服务器的一个端口连接到本地计算机的一个指定端口上。
    • 应用场景:当远程服务器需要访问你的本地机器上的服务(例如,你在本地运行的web应用)时使用。
    • 工作原理:通过SSH连接,用户在远程服务器上指定一个端口,Xshell会创建一个隧道,把这个远程端口上的所有数据发送到本地计算机的指定端口。
  3. Dynamic(SOCKS4/5)
    • 作用:建立一个SOCKS代理服务器,通过这个代理服务器转发网络流量。
    • 应用场景:常用于访问通过常规网络无法直接访问的服务,比如绕过网络审查或访问局域网内的资源。
    • 工作原理:用户指定一个本地端口用作SOCKS代理,Xshell会将通过这个端口的数据通过SSH隧道转发到任意目的地。这种方式提供了更多的灵活性,可以转发到多个远程服务。

使用场景

​ 网上有很多使用场景,有通过隧道访问内网服务器的;有通过转发访问某个web页面的;还有通过隧道代理绕过无法访问的网络资源。

​ 今天我说一个目前自己经常在用的使用场景,借助远程传入功能实现远程服务器某些网络资源无法访问的问题。

通过转发绕过限制网络

​ 原理大概是这样:我在阿里云有一台深圳节点的ECS,工作原因需要下载k8s集群中某些资源,因为网络限制会导致下载超时,而我本地PC刚好没有网络限制可以直接下载,这时可以通过xshell远程传入功能将服务器http_proxy转发到本地计算机,从而实现网络资源下载。

image-20240121121851603

1.开始转发前

image-20240121122854223

​ 可以看到在没有配置转移规则前,curl连接访问是超时的。

2.配置转移规则

​ 先在服务器上执行export http_proxy将请求代理转发到9999,

export http_proxy=http://127.0.0.1:9999/ https_proxy=http://127.0.0.1:9999/

​ 然后在xshell会话中,转移规则空白处点击添加,转移规则如下:

类型(方向):远程(传入)
源主机:localhost(服务器代理传入的ip)
侦听端口:9999(服务器传入的端口)
目标主机:localhost(本机fiddler)
目标端口:8888(fiddler监听的端口)

image-20240121123240902

​ 同时在本机打开fiddler准备好接受请求

image-20240121123917598

3.完成转发配置后

​ 完成配置后再次访问可以看到不再超时,可以正常获取到头信息。

image-20240121132747394

---- 钢铁 648403020@qq.com 2024.01.21

​ 到此使用场景演示就结束了,隧道转发功能还有很多使用技巧,朋友们可以慢慢挖掘。

​ 除了xshell有隧道转发功能外,securecrt也有这个功能,操作原理是一样,这里就不再做另外演示。

​ 今天先分享到这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Numpy笔记:安装Numpy+ndarray基本属性+常用方法+索引和切片+广播+轴+范数

Numpy Python库,用于数组快速操作的各种API 支持常见的数组和矩阵操作ndarray处理多维数组 安装Numpy 检查PyCharm的Python运行环境 File–>Settings–>Project–>Python Interpreter检查Python Interpreter环境,例如base 点击Anaconda Prom…

从0开始学习C++ 第三十课 插入排序和快速排序

插入排序 (Insertion Sort) 概念: 插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 逐步分析: 从数组第二个元素开…

HNU-数据挖掘-实验2-数据降维与可视化

数据挖掘课程实验实验2 数据降维与可视化 计科210X 甘晴void 202108010XXX 文章目录 数据挖掘课程实验<br>实验2 数据降维与可视化实验背景实验目标实验数据集说明实验参考步骤实验过程1.对数据进行初步降维2.使用无监督数据降维方法&#xff0c;比如PCA&#xff0c;I…

既是API调试平台也是自动化测试工具?Apipost

Apipost提供可视化的API自动化测试功能&#xff0c;使用Apipost研发人员可以设计、调试接口&#xff0c;测试人员可以基于同一数据源进行测试&#xff0c;Apipost 接口自动化功能在上次更新中进行了逻辑调整&#xff0c;带来更好的交互操作、更多的控制器选择&#xff0c;同时新…

代码随想录算法训练营第四十一天 | 343.整数拆分、66.不同的二叉搜索树

343.整数拆分 题目链接&#xff1a;343.整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 文章讲解/视频讲解&#xff1a;https://programmerca…

SpringMvc中拦截器的配置及应用

拦截器原理 在 Spring MVC 中&#xff0c;拦截器&#xff08;Interceptor&#xff09;是一种机制&#xff0c;用于拦截请求并在处理程序&#xff08;Controller&#xff09;执行之前或之后执行一些操作。拦截器允许您在请求的不同阶段&#xff08;如处理程序执行前、处理程序执…

AI大模型中的Bert

1.全方位上下文理解&#xff1a;与以前的模型&#xff08;例如GPT&#xff09;相比&#xff0c;BERT能够双向理解上下文&#xff0c;即同时考虑一个词 的左边和右边的上下文。这种全方位的上下文理解使得BERT能够更好地理解语言&#xff0c;特别是在理解词义、 消歧等复杂任务上…

智慧安防GB28181视频监控EasyCVR v3.5系统增加录像保存地址的配置

智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入。在网络传输上&#xff0c;平台支持设备通过4G、5G、WIFI、有线等方式进行视频流的快捷传输&#xff0c;视频流经平台处理后可对外进行多格式的分发&#xff0c;实现多展示终端观看&am…

消息中间件之Kafka(二)

1.Kafka线上常见问题 1.1 为什么要对topic下数据进行分区存储? 1.commit log文件会受到所在机器的文件系统大小的限制&#xff0c;分区之后可以将不同的分区放在不同的机器上&#xff0c; 相当于对数据做了分布式存储&#xff0c;理论上一个topic可以处理任意数量的数据2.提…

TCP高并发服务器简介(select、poll、epoll实现与区别)

select、poll、epoll三者的实现&#xff1a; select实现TCP高并发服务器的流程&#xff1a; 一、创建套接字&#xff08;socket函数&#xff09;&#xff1a;二、填充服务器的网络信息结构体&#xff1a;三、套接字和服务器的网络信息结构体进行绑定&#xff08;bind函数&…

9、numpy当中维度的变化

在NumPy中&#xff0c;可以使用不同的函数和方法来处理数据的维度。 创建数组&#xff1a;可以使用numpy.array()函数来创建数组&#xff0c;可以是一维、二维、多维数组。 import numpy as np# 一维数组 a np.array([1, 2, 3])# 二维数组 b np.array([[1, 2, 3],[4, 5, 6]…

大模型笔记【3】 gem5 运行模型框架LLama

一 LLama.cpp LLama.cpp 支持x86&#xff0c;arm&#xff0c;gpu的编译。 1. github 下载llama.cpp https://github.com/ggerganov/llama.cpp.git 2. gem5支持arm架构比较好&#xff0c;所以我们使用编译LLama.cpp。 以下是我对Makefile的修改 开始编译&#xff1a; make UNAME…

Kotlin协程的JVM实现源码分析(下)

协程 根据 是否保存切换 调用栈 &#xff0c;分为&#xff1a; 有栈协程&#xff08;stackful coroutine&#xff09;无栈协程&#xff08;stackless coroutine&#xff09; 在代码上的区别是&#xff1a;是否可在普通函数里调用&#xff0c;并暂停其执行。 Kotlin协程&…

一、基础数据结构——2.队列——3.双端队列和单调队列1

参考资料&#xff1a;《算法竞赛》&#xff0c;罗勇军 郭卫斌 著 本博客作为阅读本书的学习笔记&#xff0c;仅供交流学习。 建议关注 罗勇军老师博客 删除线格式 今天想到考完研去找工作面试被问到的问题&#xff1a; C与C有什么区别&#xff1f; 我当时的答案&#xff08;毫无…

【git分支管理策略】

文章目录 前言一、分支管理策略简介二、git基本操作三、git分支远程分支本地分支 四、gitflow分支管理策略分支定义gitflow分支管理策略评价 五、GITHUB FLOW分支管理策略分支使用流程创建分支&#xff08;Create a branch&#xff09;新增提交(add and commit)提出 Pull 请求&…

C++泛型编程-类模板的项目实战实现基础的Vector的编写

请设计一个数组模板类&#xff08; Vector &#xff09;&#xff0c;完成对 int 、 char 、 float 、 double 以 及任意的自定义类等类型元素进行管理。 需求 a. 实现构造函数 b. 实现拷贝构造函数 c. 实现 cout << 操作 d. 实现下标访问符 [] 的重载操作 …

webench源码阅读

简介 webbench是一款用C编写的开源工具&#xff0c;主要用来在Linux下进行网站压力测试。最多可以模拟3万个连接去测试网站的负载能力&#xff0c;并可以设置运行的客户端数、测试时间、使用的http协议版本、请求方法、是否需要等待服务器响应等选项&#xff0c;最后统计每分钟…

CTF-PWN-堆-【chunk extend/overlapping-1】

文章目录 chunk extend/overlappingfastbin与topchunk相邻free时候不会合并unsortedbinchunk中与topchunk相邻的被free时会合并extend向后overlapping先修改header&#xff0c;再free&#xff0c;再malloc先free&#xff0c;再修改header&#xff0c;再malloc extend向前overla…

Filter简单了解

1、filter能干嘛 过滤器实际上就是对web资源进行拦截&#xff0c;做一些处理后交给下一个过滤器或者servlet处理&#xff0c;通常都是拦截request的&#xff0c;也可以对response进行拦截处理&#xff1b; 2、面试考点&#xff1a;filter能干嘛&#xff08;应用场景&#xff0…

STL标准库(二)序列容器之vector

vector 动态数组 本质是向量&#xff0c;一个无限续存的连续内存空间 int main() { std::vector<int> obj(5); 创建一个容量为5且默认值为0的vector std::vector<int> obj(5&#xff0c;12138); 创建一个容量为5且默认值为12138的vector std::cout << obj.…