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

一口Linux
关注

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

注册账号

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

注册成功

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

然后登录进入,如下图:

第三步

如上图所示,这是我已经创建好了的一个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模块发送的数据


声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存