使用xshell实现内网穿透与socket代理

使用xshell实现内网穿透与socket代理

内网穿透:即NAT穿透,网络连接时术语
计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透
就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度
不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决

+++++++++++++++++++++++++++++++++额外扩展+++++++++++++++++++++++++++++++++
透传,即透明传输(pass-through)
指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#TCP/IP转移
+++++++++++++++++++++++++++++++++++++++++++++
L:运行XShell的一端,R:通过SSH连接的一端
+++++++++++++++++++++++++++++++++++++++++++++
类型:
Local(Outgoing)     将服务器的端口映射到本机(出站)      L -> R
Remote(Incoming)    将本机的端口映射到服务器(入站)      R -> L
Dynamic(SOCKS4/5)   创建一个SOCKS信道,是个双向代理     L <> R

源主机和侦听端口:
L端映射的地址,类型为Dynamic时代表SOCKS协议使用的端口

仅接受本地连接:
这个没什么好说的,勾选,或者源主机填localhost效果一样

目标主机和目标端口:
R端映射的地址,类型为Dynamic时无需设置

参考资料:https://blog.chrxw.com/archives/2019/11/11/644.html

内网穿透

环境模拟:
1. 机器1只有内网网卡(172.16.1.181),安装了MySQL服务且设置了机器1的外网IP白名单(app@10.0.0.11)
2. 机器2有外网(10.0.0.11)和内网网卡(172.16.1.11)

实现目标:在本地通过数据库软件用app用户连接机器1的数据库

1.xshell连接机器2并建立隧道
在这里插入图片描述
2.测试
在这里插入图片描述
3.原理

利用xshell做隧道进行本机与172.16.1.181之间的通信
通讯方向说明localhost:8888 --> 机器2 --> 172.16.1.181:3306

通过ngrok实现ssh内网穿透

# ngrok
用ssh访问一台主机,如果和主机在一个局域网中或者主机拥有公网IP,就可以使用ssh命令直接连接主机的IP地址
但是大部分公司和家庭内部都是局域网,并不能给局域网内的每一台主机都分配一个公网 IP,这时候就需要进行内网穿透,才能从外部连接到局域网内的主机

ngrok是一个反向代理工具,可以实现将内网的端口暴露到公网
通过ngrok,也能将ssh使用的端口暴露出去,以此实现ssh的内网穿透

1. 注册并下载ngrok
访问 https://ngrok.com/注册ngrok账号并下载ngrok客户端

2. 查看ngrok的token
访问https://dashboard.ngrok.com/auth查看token并复制


3. 在内网机器上启动ngrok
连接ngrok账号
$ ngrok authtoken xxxxxxx

4. 启动ngrok并打开 22 端口转发
#后台启动,选择亚洲新加坡节点,并将日志写到家目录的ngrok.log中(要后台启动必须要输出日志)
$ ngrok tcp 22 --log=stdout > "$HOME/ngrok.log" --region ap &

其中region的ap代表ngrok新加坡节点,访问速度相比美国节点会快一些
访问 https://ngrok.com/docs#config-options 可以查看支持的所有区域:
us - United States (Ohio)
eu - Europe (Frankfurt)
ap - Asia/Pacific (Singapore)
au - Australia (Sydney)
sa - South America (Sao Paulo)
jp - Japan (Tokyo)
in - India (Mumbai)


5. 利用上面的xshell透传,将4040端口透传到本地的4040(可随意定制)端口
浏览器访问:http://127.0.0.1:4040
可以看到一个tcp开头的地址,通过访问这个地址,就可以转发到本机的 22 端口上

No requests to display yet

To get started, make a request to one of your tunnel URLs
    · tcp://0.tcp.ngrok.io:16837


6. 通过 ssh 访问内网机器
查看到转发地址后,就可以在外网通过 ssh 命令访问内网机器来。以上图为例,ssh 访问的命令是:
$ ssh -p 16837 root@0.tcp.ap.ngrok.io

- 需要注意的问题:
由于所有流量都要经过 ngrok 服务器,而 ngrok 的服务节点又只有美国、新加坡等地,所以速度上还是比较慢的
另外,如果 ngrok 的服务节点存在安全隐患的话,存在敏感内容的泄漏的可能性

参考资料:https://www.jianshu.com/p/3fdb77446f2d

Sunny-Ngrok项目:https://www.ngrok.cc/user.html

小米球ngrok项目:http://ngrok.ciqiuwl.cn/

socket代理实现浏览器访问内网

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用内网服务器连接Xshell可以通过以下几个步骤来完成: 1. 首先,确保你已经获取了目标内网服务器的内网IP地址。 2. 打开Xshell,点击“文件”菜单中的“新建”选项,弹出一个新的会话窗口。 3. 在新建会话窗口中,填写以下信息: - 会话名称:给这个会话起一个易于识别的名称,例如“内网服务器”。 - 主机:输入目标内网服务器的内网IP地址。 - 端口:如果有特定的端口号,请输入对应的端口号;如果没有特定要求,则使用默认的端口号22。 - 用户名和密码:输入你在目标内网服务器上的用户名和密码。 4. 点击“确定”按钮,即可创建一个与内网服务器的连接。 5. 如果你无法直接通过内网IP连接到内网服务器,可以考虑使用跳板机的方式。找一台有外网IP的服务器作为跳板机,然后通过跳板机连接到内网服务器。 - 首先,在Xshell中创建一个会话,填写跳板机的相关信息。 - 然后,在跳板机上设置端口转发,将来自本地端口的连接转发到目标内网服务器上。具体的设置方法可以参考Xshell的帮助文档或者搜索相关教程。 - 最后,在Xshell中创建另一个会话,填写目标内网服务器的内网IP地址和转发的本地端口号,即可通过跳板机连接到内网服务器。 6. 连接成功后,你就可以在Xshell中执行各种操作,例如远程登录、文件传输等。 以上是使用内网服务器连接Xshell的方法。你可以根据实际情况选择适合你的方式来进行连接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [服务器连接工具-xshell脚本](https://download.csdn.net/download/weixin_44838902/87913977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Xshell——连接服务器](https://blog.csdn.net/jinse__/article/details/123141052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [xshell登录内网服务器](https://blog.csdn.net/magic_kid_2010/article/details/124319412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冻灬结

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值