通过NGROK插件完成内网端口映射

一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网。而这些企业或学校的机器使用的IP地址就是内网IP,内网IP是在规划IPv4协议时,考虑到IP地址资源可能不足,就专门为内部网设计私有IP地址(或称之为保留地址),一般常用内网IP地址都是这种形式的:10.X.X.X、172.16.X.X-172.31.X.X、192.168.X.X等。需要注意的是,内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。我们平时可能在内网机器上搭建过网站或者FTP服务器,而在外网是不能访问该网站和FTP服务器的。
所以在校园局域网的情况下,我们使用SIM模块作为客户端,电脑作为服务端的数据传输是不能直接实现的。如何解决这个问题,下面就来介绍一款内网穿透神器:Ngrok.通过它,就可以轻松地通过公网访问你的内网服务器。

1:下载Ngrok客户端(网址:ngrok.com),在download界面下下载自己合适的版本。一般来说,我们所使用的都为Windows 64位操作系统。所以找到对应图标,点击下载。
这里写图片描述
下载并解压后会有一个可执行文件,这个可执行文件并不能直接点击打开,需要在命令行下进行操作。
2:在Ngrok官网注册登录,得到授权码。
这里写图片描述
3:启动Ngrok,打开CMD命令行,进入存放Ngrok可执行文件的根目录,写如下命令:ngrok authtoken +授权码。命令TCP端口映射:Ngrok tcp +想要映射的端口号(这个端口号最好使用未被系统占用的端口)。然后回车,当出现Online字母时表示链接成功(下图中,tcp://0.tcp.ngrok.io是映射的域名,17255是公网映射的端口号,8111是映射到本机的端口号)
这里写图片描述
这里写图片描述

这样,我们就已经完成了从内网映射到公网的所有步骤。下面介绍如何使用SIM900的GPRS功能通过TCP协议与电脑进行数据传输(本文只介绍如何通过串口助手调试SIM900,不介绍单片机如何进行工作)
1:硬件准备,SIM900A与USB转TTL。
2:电脑插件准备,串口调试助手和网络调试助手。
实验步骤:
1,打开网络调试助手,在TCP Server下创建自己的服务器。选中这里写图片描述后点击创建之后会弹出监视端口窗口,监听端口号填写之前通过TCP映射出来的内网端口,点击确定,服务器就启动监听前期的准备就完成了。(前面映射的是8111端口)
这里写图片描述
2,开始对SIM900模块进行设置
第一步:AT+CSQ 查询网络信号质量
其中第一个参数为网络信号质量最大为31,此数值越大说明网络信号越强
这里写图片描述
第二步:AT+CREG? 查询网络注册情况
其中第二个参数为1或5则说明已经注册成功。
这里写图片描述
第三步:AT+CGATT? 查询模块是否附着 GPRS 网络
这里写图片描述
经测试,前三行AT指令不是很重要,所以可以不需要输入。
第四步:AT+CSTT 设置APN
这里写图片描述
第五步:AT+CIICR 激活移动场景
这里写图片描述
第六步:AT+CIFSR 获得本地IP地址
这里写图片描述
第七步:AT+CIPSTART=”TCP”,”198.58.98.92”,17255 建立TCP/IP连接 // 测试时公网IP:198.58.98.92
这里写图片描述
这里写图片描述
由于TCP映射时给出的是域名,并没有给公网IP,所以需要手动在网上查询公网IP。(这里给出我使用的一个网址:www.ip138.com )

服务器端连接状态栏已经检测到了有客户端接入了。并显示了IP和占用的通道号
这里写图片描述
第八步:AT+CIPSEND 模块向服务器发送数据
这里写图片描述
收到模块返回的”>”就可以输入要发送的数据,这里发送“hello”,这步操作不可以发送回车换行。
这里写图片描述
发送后切换到16进制发送,发送1A
这里写图片描述
发送完成,服务器会收到模块发送过来的数据“hello”
这里写图片描述
这里写图片描述
第九步:接收数据
在服务器中输入要发送的数据如“hello”。
这里写图片描述
这里写图片描述
点击发送数据
数据就发送到开发板上
串口助手会显示
这里写图片描述
第十步:AT+CIPCLOSE或AT+CIPSHUT 关闭TCP连接
这里写图片描述
返回OK说明已经成功关闭了TCP连接
这时服务器端的连接状态栏应该没有任何连接了。重点内容

猜你喜欢

转载自blog.csdn.net/qq_40365941/article/details/81482303