如何访问局域网设备

          首先了解一下,什么是内网穿透?为什么要用内网穿透?

         先看一下关于内网穿透的定义

看完之后好像还是不明白,那么在看一张图。

         通过这张图大概就可以明白,就是将局域网的IP地址和端口号和互联网的IP地址和端口号对应起来,通过访问互联网的IP和端口号,就可以通过内网穿透技术直接访问到局域网的某个IP地址和端口号。

         那什内网穿透技术在什么时候下会用到呢?这里举个简单的例子。比如自己用单片机做个一个温度和湿度的采集系统,可以实时采集家里的温度和湿度。但是这个数据只能直接在单片机上看到,那么如果我想在网络上访问我这个温度采集系统要怎么办呢?

        第一步就是要把这个单片机挂在互联网上,可以使用wifi模块,单片机通过串口连接wifi模块,然后wifi模块在连接到路由器上。那么这时候连接到路由器上的所有设备都可以通过这个wifi模块访问到这个温度和湿度采集系统了。

       虽然已经可以通过wifi访问模块了,但是此时这个模块的IP地址还是一个局域网的地址,比如当前wifi模块的IP地址是192.168.0.100,那么只有为192.168.0.XXX的设备才能访问到模块,如果我想在公司访问家里这个模块要怎么办呢?

       第二步就是要把wifi模块这个局域网内的地址和互联网的地址联系起来,而互联网地址地址可能是好多人共用同一个地址。比如一个公司有100台电脑都可以上网,但是这100台的互联网地址可能就只有一个,这100台电脑共用了同一个互联网地址。这同一个互联网地址首先连接到路由器上,然后公司的100台电脑在通过局域网的IP地址去区分。虽然互联网的IP地址只有一个,但是它的端口号有很多。

        也就是说虽然这100台电脑共用了一个互联网IP,但是每个IP地址拥有唯一的端口号。这样我们就可以通过IP地址+端口号的方式,在互联网上找到局域网中对应的每一个电脑。比如这100台电脑共用的互联网IP地址为:118.36.116.200,这个IP地址的端口号从8001到8100对应着局域网的100台电脑。比如访问118.36.116.200:8010,意思就是访问IP地址为118.36.116.200,端口号为8010就可以访问到局域网内IP地址为192.168.0.110这台电脑了。这样通过互联网上的IP地址加上端口号就可以访问到局域网中的每一个IP地址了。

         现在还有一个问题就是,如何将端口和局域网中的IP地址对应起来呢?这时要用到的这个技术就叫做内网穿透。就是通过软件的设置,可以将互联网IP地址和端口号和局域网中的IP地址和端口号对应起来。花生壳软件就是专门用来实现内网穿透功能的,今天就来演示一下,这个软件如何使用。

       首先登录花生壳官网 https://hsk.oray.com/download/

然后点上面的下载按钮,切换到花生壳的下载界面。然后直接点免费下载按,下载安装花生壳软件。

安装完成之后,直接打开花生壳。使用的时候需要账号登录,如果没有账号的话,就注册一个账号。

然后点右下角的加号,开始添加一个应用。

然后填写要添加的应用名称、应用类型、内网主机IP、内网端口。

如果不知道内网的IP地址和端口号的话,打开网络调试助手,直接用网络调试助手上显示的IP地址和端口号。如果自己会设置的话,就可以自己修改IP地址和端口号。这个互联网域名是注册账号之后,这个软件就会自动给你分配一个互联网域名,这个不能自己设置,直接选择系统默认的就行。按照上图中设置好之后,点保存按钮。

这时候在软件界面上就可以看到刚才新建的这个应用,此时内网穿透的映射已经建立完成了。要确定是否建立成功,就点一下左下角诊断按钮。

此时会显示局域网服务器连接失败,这是什么原因?是由于电脑上此时还没有打开刚才设置的端口。

此时将网络助手设置为 TCP server模式,IP地址和端口号不变。然后打开网络助手。

网络助手打开后,在花生壳软件的界面上点一次刷新按钮。

这时候提示信息就会全部变成绿色,说明内网穿透映射成功了。

通过这个界面就可以看到,将互联网 IP地址和端口号和内网的IP地址和端口号对应的起来。 103.46.128.45:44584  <------->192.168.0.114:8080.

也就是我们访问IP地址103.46.128.45,端口号44584的时候,其实访问的就是局域网中IP地址为192.168.0.114端口号为8080的设备。

下面来测试一下,内网穿透映射成功后,花生壳工具就不需要操作了,直接最小化就行。测试只需要网络助手就行。

再次打开一个网络助手,设置为TCP Client模式,远程主机IP设置为 103.46.128.45端口号设置为44584。

这时候TCP Server就相当于局域网中的设备,TCP Client就相当于互联网中的一个远程设备。TCP Client通过互联网的 IP地址和端口号,就可以直接给局域网中的设备发送消息。这样通过内网穿透的映射关系,就可以直接访问到局域网中的设备了。

下来在手机上用网络助手给电脑发消息

可以看到手机通过4G网络直接给103.46.128.45:44584这个地址发送消息,这时候局域网中IP地址为192.168.0.114端口号是8080的设备,就可以接收到手机发送的消息。

此时就相当于互联网上的电脑和手机,都可以通过内网穿透功能,直接给局域网中的设备发送消息。

通过这个实验就可以解决文章开头提到的问题,将温度和湿度采集设备通过wifi模块挂到互联网上,然后通过内网穿透技术,将采集模块的IP地址和端口号和互联网IP地址和端口号映射起来,这样不论在什么地方,就可以直接访问家里的温度湿度采集模块的数据了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值