前言
Py建站
内网穿透
实操演示
原理浅析
总结
前言
有的时候希望把本地内网系统映射到公网方便跨局域网访问,Sunny-Ngrok提供国内免费的内网映射服务器,可以满足我们这个需求。
Py建站
在进行内网映射之前,先在本地搭建一个局域网站点,此处直接使用Python建立HTTP服务站店。Python搭建局域网HTTP站点很简单,仅需一条命令即可,可用于局域网内部快速文件分享和传输。
1、在希望打开HTTP服务的文件夹路径打开 Cmder:
2、执行以下命令,即可把当前目录发布到本地8000端口:
python -m SimpleHTTPServer 8000br
同时站点访问日志会即时在终端输出打印,如下图所示:
3、执行快捷键Ctrl + C可以终止HTTP服务,Linux系统使用 Python 搭建HTTP服务的方法同上。
内网穿透
实操演示
1、首先访问 Ngrok 官网进行账号注册:
2、注册完登录进入系统,访问“隧道开通”,选择免费服务:
3、进行隧道配置:
4、点击生成隧道列表,服务器自动分配了一个免费域名与我们指定的本地站点进行了映射,接下来下载 Ngrok 客户端工具:
5、客户端下载完成以后,解压缩并在对应的路径下打开 Cmder 终端:
6、在终端执行命令:sunny clientid 隧道id(上图服务器分配的隧道id),即可成功建立映射:
7、这时候在公网直接在浏览器访问 Ngrok 服务器分配给我们的域名即可访问到本地站点:
原理浅析
在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,对于国内垄断的电信运营商来讲,更是不可能随便免费给你一个公网IP,许多家庭宽带都无法分配到公网IP,又或者公司学校安全角度考量,为了防止网络攻击,资料泄露,禁止内网机器通过路由器进行端口映射,搭建代理服务器,由此许多内网穿透、内网映射软件应运而生。
Ngrok 穿透过程:
1. 当服务端接收到连接,就读取映射表,判断接收的端口对应于哪一个客户端,然后向客户端发送通知;
2. 客户端收到通知,读取本地映射表,判断对应哪个内网地址,向内网地址发起连接;
3. 客户端和内网的服务器建立连接后,向服务端发起一个连接,作为转发通道;
4。服务端读取请求数据,并通过转发通道转发到客户端,客户端读取响应并通过转发通道返回给请求。
这只是一个简单的连接过程,其中还有映射端口的管理,如果是全端口映射还需要动态映射端口,目前只有网络通有这个全端口的功能,对于一些特殊应用,还要修改解析修改转发的数据才能穿透成功。
总结
至此,已成功借助 Ngrok 将本地内网系统映射到公网 Ngrok 分配的免费域名上,可以愉快地在公网访问内部网站和资源啦(注意安全……)。
原文链接:https://bwshen.blog.csdn.net/article/details/108831358
好文推荐
欢迎关注 系统安全运维
原文始发于微信公众号(系统安全运维):渗透测试-Ngrok内网映射与穿透
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论