如何在内网搭建TCP服务器且能被外网直接访问

电子说

1.2w人已加入

描述

问题描述

起因:最近公司要做一个4G模块带GNSS(全球导航卫星系统)定位功能的产品,上传传感器数据和设备定位数据到服务器上,我们选择了simcom7600G一个支持全球通的4G模块,首先在阿里云的远程桌面搭建了一个TCP服务器,完成了服务器和4G模块的TCP通信。

但是服务器毕竟是要收费的,于是就想到在自己在电脑上搭建一个本地服务器测试平台,方便与4G模块通过公网进行数据通信。

软件环境:

windows 10

花生壳内网穿透客户端SocketTool串口调试助手实现步骤

下面是具体操作步骤,图文并茂:

第一步

先到花生壳的官网下载花生壳内网穿透客户端,

第二步

如上图我们选择安装到D盘,接下来依次按步骤安装完成,安装完成后,

点击立即进入

扫码注册

点击立即注册会弹出网页:

注册账号

填写信息,通过手机获取验证码。选择个人用户,点击注册即可。

注册成功

【注意上述注册的域名和后续的截图上的域名有所差异,后续操作以下面的信息为准】

然后登录进入,如下图:

服务器

第三步

如上图所示,这是我已经创建好了的一个TCP测试例程。

服务器

第四步

如上图所示,如果已经创建好了测试例程,则可点编辑可以修改测试具体细节,如果是第一次使用,则点击右下角的+号,进入创建页面:

服务器

第五步

如上图所示,名字随便取,这里我们取名为TCP测试1,应用类型选择TCP,别的可以自己尝试,但是HTTP好像是要收几元认证费用的。

选择不使用模块,外网域名是软件自动生成的,外网端口我们选择随机端口,固定端口要收费的。

内网端口就是你创建的服务器绑定的端口,这里我事先用TCP/UDP socket测试工具在IP地址为192.168.1.112的主机上创建了一个端口为20000的TCP服务器,内网IP地址可通过cmd行工具查看。

服务器

如上图,在命令行输入 ipconfig 显示出本机内网IP地址是 192.168.1.112,将其复制到内网主机方框。然后点击保存,创建完成。

第六步

接下来下载TCP/UDP socket测试工具

服务器

TCP/UDP socket测试工具

第七步

如上图,先选中TCP Server,然后监听端口我们选择20000,然后点击确定,就创建完成,非常简单。

服务器

第八步

如上图在创建完TCP测试的花生壳客户端上点击诊断:

花生壳做了两件事情:

将无线路由器的WAN口地址103.46.128.45和域名x3720160v0.wicp.vip进行了绑定所有发送给wlan的wan口目的端口号为30854的数据包全部转发给ip地址为192.168.1.112的内网的pc,交给该pc上绑定端口号为20000的进程

第九步

如上图所示:必须要显示连接转发服务器成功和局域网服务器连接成功后,才算真正的可用,如果本地服务器没有搭建好,局域网服务器会显示连接失败。

服务器

第十步

如上图:第一次创建好测试项目,客户端会提示你进入后面网页管理页面,这个更好用

服务器

第十一步

如上图,接连接好simcom7600g 4G模块,打开串口调试助手,波特率选择为115200,具体不同的4G模块会有不同,串口调试助手网上也有很多个,自己选择合适自己的就行.

首先让4G模块注册到基站网络,然后打开4G模块网络,查询分配到的IP地址,接下来就可以创建TCP连接了, 输入AT命令

AT+CIPOPEN=0,"TCP","x3720160v0.wicp.vip",30854

0 表示创建的套接字序号,本模块支持0-9共10个进程。通信协议选择TCP,域名选择花生壳生成的免费送的域名,端口号选择花生壳生成30854,

特别注意端口号不能写自己创建的服务器端口号20000,因为花生壳可能进行了端口重映射的,目的可能是为了安全。

服务器

第十二步

如上图所示,我们先用4G模块给服务器发送1234754321,服务接收正常,接着服务器向4G模块发送ABCDEF,串口助手显示

RECV FROM:103.46.128.45:30854

+IPD6

ABCDEF

至此,测试完成!!

总结

组网环境图

服务器

实际组网图

如上图所示,详细访问步骤:

4G模块通过AT指令,访问域名x3720160v0.wicp.vip,目的端口号是30854DDNS这个协议会将该域名对应的IP地址102.46.128.45返回给该4G模块,4G模块就可以访问到家里的无线路由器的wan口4G模块发送的所有的数据包最终会到达家用无线路由器无线路由器会把目的端口号是30854的所有数据包转发给内网IP地址为192.168.1.112这个pc的绑定了20000端口号的进程于是TCP/UDP Socket测试工具就会收到4G模块发送的数据

责任编辑:xj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分