内网穿透工具39nat使用教程

简介

39nat是一款免费的内网的穿透工具,可为本地网络生成公网地址映射,随时随地访问。您可将39nat用作生成本地开发环境的公网预览地址,或者用于远程连接本地mysql、远程SSH连接本地虚拟机、跨网络进行APP抓包、本地微信开发、自建网盘群晖nas外网访问、树莓派外网访问,以及本地文件共享到外网等。

在这里插入图片描述

注册账号

登录www.39nat.com,点击右上角的“开始使用按钮”。如果您还没有登录,这里会弹出登录界面。没有密码可以在登录界面下方点击注册按钮注册。

下载登录客户端

点击下载与您操作系统对应的客户端,解压后无需安装即可使用。 在这里插入图片描述

39nat客户端提供了交互式和命令行式两种使用方式。

交互式就是双击打开或者直接输入39nat命令,之后根据提示输入账号密码进行登录。这种方式使用简单,但不利于自动化操作。

在这里插入图片描述

  • window:解压后双击即可运行。
  • linux:打开终端,进入下载目录执行unzip 39nat.zip命令解压,得到文件39nat,之后在终端中直接执行此命令`./39nat
  • macos:使用方式同上,需要注意的是最新版的macos系统第一次直接双击打开解压后的39nat执行文件会提示“打不开此文件”、“文件已损坏件”、“无法验证开发者”等错误信息。解决的方法也很多,最简单的方法是像linux版那样在终端中执行。

命令行模式就是直接在命令行或脚本中,执行39nat的时候加上一些参数来自动登录。这种方式可以避免手动的交互式输入,可用于写入脚本自动调用、开机自启动等场景。

示例:一行命令自动登录

39nat -u admin@39nat.com -p your_password

执行39nat -h可以查看命令行模式的更多使用帮助。

客户端有做断线自动重连处理,同一个账号密码不能同时登录多个客户端。

添加映射

在网页端登录www.39nat.com,点击“开始使用”,可以看到隧道列表页面。隧道可以动态添加修改而无需重启客户端。

在隧道列表中,内网地址表示您本地的地址,可以是tcp、http、https、dir(本地目录)四种类型。外网地址表示本地映射到公网的地址,可以是http和tcp类型。

您可以参考以下场景示例,按需进行配置。

  • 场景1:本地Web开发环境提供外网预览

假设本地Web开发环境地址是http://localhost:8080,您可以在添加隧道时,选择外网协议为http,内网协议为http,内网地址localhost,内网端口8080。 在这里插入图片描述 保存后会自动生成一个外网地址,这个外网地址同时支持http和https。访问此外网地址,就相当于访问本地的http://localhost:8080在这里插入图片描述

  • 场景2:远程连接本地ssh

如果您使用的是linux系统,想在其他网络通过ssh直接连接到此设备或局域网中的其他设备,您可以在添加隧道时,选择外网协议为tcp,内网协议为tcp,内网地址为本机地址127.0.0.1或局域网内其他设备的ip地址,内网端号为ssh的端口号22。 在这里插入图片描述 保存后会生成一个带端口号的公网地址。此时直接ssh连接此地址,例如ssh -p 13937 root@120.26.68.165,就相当于连接内网中对应的设备。 在这里插入图片描述 - 场景3:远程共享本地文件(本地文件服务器)

如果您需要将本地目录中的文件共享给他人,可以在添加隧道时,选择外网协议为http,内网协议为dir,此时内网地址应该填写本地目录的绝对路径,例如macos下载目录/Users/myusername/Downloads/。保存后, 在这里插入图片描述

访问自动生成的http地址,会列出/Users/myusername/Downloads/目录的内容。您可以下载文件或进入此目录下的子目录。

在这里插入图片描述

通过此链接,您可以很方便的预览或下载您计算机上的文件。 在这里插入图片描述