文档章节

可以实现内网穿透的几款工具

哥本哈根的小哥
 哥本哈根的小哥
发布于 2018/09/20 10:47
字数 1680
阅读 6735
收藏 281

最近没什么事情,看了一些关于内网穿透的文章,因我本身已是做微信开发相关的工作,对这部分关注的比较多,现分享给大家。

首先说下内网穿透的原理。

NAPT原理

在NAT网关上会有一张映射表,表上记录了内网向公网哪个IP和端口发起了请求,然后如果内网有主机向公网设备发起了请求,内网主机的请求数据包传输到了NAT网关上,那么NAT网关会修改该数据包的源IP地址和源端口为NAT网关自身的IP地址和任意一个不冲突的自身未使用的端口,并且把这个修改记录到那张映射表上。最后把修改之后的数据包发送到请求的目标主机,等目标主机发回了响应包之后,再根据响应包里面的目的IP地址和目的端口去映射表里面找到该转发给哪个内网主机。这样就实现了内网主机在没有公网IP的情况下,通过NAPT技术借助路由器唯一的一个公网IP来访问公网设备。 具体原理参照下图:

更加具体的原理性介绍可以看下这篇文档:【技巧】内网穿透工具的原理与开发实战

我了解的内网穿透工具

  • Ngrok
  • Natapp
  • 小米球
  • Sunny-Ngrok
  • echosite
  • Ssh、autossh
  • Lanproxy
  • Spike
  • frp
  • fcn
  • 花生壳

前5个都是基于国外的ngrok来进行二次开发的。

1、Ngrok

ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试。

参考博客:10分钟教你搭建自己的ngrok服务器

2、Natapp

natapp是 基于ngrok的国内收费内网穿透工具,类似花生壳,有免费版本,比花生壳好。免费版本:提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口

参考文章:NATAPP1分钟快速新手图文教程

3、小米球

小米球是基于ngrok二次开发的内网穿透工具,支持多协议、多隧道、多端口同时映射(http、https、tcp等等...),同时支持多种系统win、linux、linux_arm、mac等。具体的使用直接参考官网。

4、Sunny-Ngrok

Sunny-Ngrok同样是ngrok二次开发的内网穿透工具,支持http,https协议,同时支持更丰富的系统和语言:linux、win、mac、openwrt、 python、php等。

教程:Sunny-Ngrok使用教程

5、echosite

echosite同样ngrok二次开发的内网穿透工具,支持多种协议,以前是全部免费的,现在推出了收费版和免费版,可根据自己的需要去选择。

参考教程:EchoSite---让内网穿透变得简单

6、Ssh、autossh

ssh 配合autossh工具使用,因为autossh会容错,自动重新启动SSH会话和隧道。autossh是一个程序,用于启动ssh的副本并进行监控,在死亡或停止传输流量时根据需要重新启动它。 这个想法来自rstunnel(Reliable SSH Tunnel),但是在C中实现。作者的观点是,它不像匆匆忙忙的工作那么容易。使用端口转发环路或远程回显服务进行连接监视。在遇到连接拒绝等快速故障时,关闭连接尝试的速度。在OpenBSD,Linux,Solaris,Mac OS X,Cygwin和AIX上编译和测试; 应该在其他BSD上工作。免费软件。

使用教程:SSH内网穿透

7、Lanproxy

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

参考教程:业余草推荐一款局域网(内网)穿透工具lanproxy

8、Spike

Spike是一个可以用来将你的内网服务暴露在公网的快速的反向代理,基于ReactPHP,采用IO多路复用模型。采用Php实现。

参考教程:使用 PHP 实现的的内网穿透工具 “Spike”

9、Frp

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

教程:一款很好用的内网穿透工具--FRP使用frp实现内网穿透

10、Fcn

FCN[free connect]是一款傻瓜式的一键接入私有网络的工具, fcn利用公共服务器以及数据加密技术实现:在免公网IP环境下,在任意联网机器上透明接入服务端所在局域网网段。支持多种系统,有免费版和付费版。

教程:内网穿透工具FCN介绍

上面便是我所知道的内网穿透工具,其中ngrok相关的我基本都用过还有frp,都差不多。大部分都可以免费去使用,但是我不建议大家把这些免费的穿透工具去放到比较重要的云服务器中去使用,容易被攻击。我的小伙伴,开始你的穿透之旅吧。

© 著作权归作者所有

共有 人打赏支持
哥本哈根的小哥
粉丝 5
博文 33
码字总数 14693
作品 0
东城
程序员
私信 提问
加载中

评论(10)

ejzhang
ejzhang

引用来自“哥本哈根的小哥”的评论

引用来自“yangjh_chs”的评论

你漏了这个 https://www.oschina.net/p/proxy-go

高见,又了解了一个内网穿透方式。

这个很火
高久峰
高久峰

引用来自“哥本哈根的小哥”的评论

引用来自“高久峰”的评论

一直用的花生壳。但是不稳定

花生壳,限制太多,也不稳定,当然你肯付钱应该可以解决这个问题的。

有道理。。
哥本哈根的小哥
哥本哈根的小哥

引用来自“高久峰”的评论

一直用的花生壳。但是不稳定

花生壳,限制太多,也不稳定,当然你肯付钱应该可以解决这个问题的。
高久峰
高久峰
一直用的花生壳。但是不稳定
不日小鸡

引用来自“开源中国红薯批发商”的评论

引用来自“不日小鸡”的评论

一个ssh反向隧道就解决了
当然还能用更暴力的tcp打洞

只听过udp打洞,tcp怎么打?
一样这么打
哥本哈根的小哥
哥本哈根的小哥

引用来自“yangjh_chs”的评论

你漏了这个 https://www.oschina.net/p/proxy-go

高见,又了解了一个内网穿透方式。
全体人员
全体人员

引用来自“不日小鸡”的评论

一个ssh反向隧道就解决了
当然还能用更暴力的tcp打洞

只听过udp打洞,tcp怎么打?
哥本哈根的小哥
哥本哈根的小哥

引用来自“不日小鸡”的评论

一个ssh反向隧道就解决了
当然还能用更暴力的tcp打洞
我没试过你说的,一般都是用免费的ngrok测试。
不日小鸡
一个ssh反向隧道就解决了
当然还能用更暴力的tcp打洞
常用集中内网穿透&端口映射软件工具

版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。 https://blog.csdn.net/English0523/article/details/85006287 大家都用什么内网穿透?ngrok还是frp?自己搭建的还是国内免费的...

天府云创
2018/12/14
0
0
内网打洞技术:花生棒解决无固定IP地址网络环境

ERP、VPN、内网穿透、远程访问,这串有些陌生的词可能让你完全摸不着头脑,但是如果说到搭建私有云、远程办公、建立属于自己的博客,是不是瞬间又对这些实用的功能一下子充满热情?理想和现实...

花生壳动态域名解析
2017/02/24
4
0
wangmin/golang内网穿透

golang内网穿透工具V1.0(支持windows与linux) 项目介绍 transponder内网穿透工具分为两端:外网服务器端与内网服务器端。 通过该程序内网服务器可以在没有公网IP的情况下借助外网服务器对广...

wangmin
2018/10/16
0
0
【前方高能】当运营商给你分配了内网IP后怎么当公网IP用!

最近看到不少人都在吐槽一个问题,就是宽带被运营商偷偷分配了内网IP。 事实上IPv4时代公网IP稀缺,运营商确实没有义务为每个用户提供公网IP,分配内网IP也是实属无奈之举。 但是有人想要使用...

我想要很长很长的名字
2016/04/19
9.4K
10
花生壳动态DNS架设教程及常见问题

花生壳动态DNS架设教程及常见问题 一般情况下,我们建设网站让所有人访问的话需要公网ip地址,并且为了方便大家记忆使用域名和ip地址的映射。域名和I地址的映射和解析就称之为DNS,这种关系基...

陶小陶
2018/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Httpd 整合 Tomcat 步骤

环境:Tomcat8 + Httpd2.4 工作原理:借助于Tomcat的AJP连接器实现Apache与Tomcat的通信 配置步骤: 1. 配置httpd.conf 新增: Include conf/extra/mod_jk.conf 修改:添加 index.jsp <IfM...

ZeroneLove
昨天
1
0
Docker笔记3——容器命令(未写完,明天整理接着写)

未写完,明天整理接着写 新建并启动容器 docker run docker run [OPTIONS] IMAGE [COMMEND] [ARG...] OPTIONS: --name=[容器新名字] :为容器指定一个名称 -d:后台运行容器,并返回容器ID,...

HappyBKs
昨天
1
0
2018个人年终总结

感谢领导的信任和指导,新的一年获得了很多成长和提高,改掉了很多不好的习惯。 在这一年里,我在领导的帮助下,主要完成了以下功能: 1、完成上海银行版本投资营销相关功能的开发。 2、完成车...

万山红遍
昨天
12
0
保密工作与linux系统的发展

保密工作从性质上可以分成商业方面的保密和国家安全方面的保密。由于自己从事的是IT方面的工作,工作中必然会接触涉及到计算机信息方面的相关文件。加上单位已近通过武器装备科研生产单位二级...

linux-tao
昨天
3
0
Spark共享变量

概述 Spark程序的大部分操作都是RDD操作,通过传入函数给RDD操作函数来计算。这些函数在不同的节点上并发执行,但每个内部的变量有不同的作用域,不能相互访问,所以有时会不太方便,Spark提...

仟昭
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部