内网穿透原理,免费内网穿透(简单使用),公网主动访问内网。

内网穿透的本质就是流量转发,把一个电脑的网卡上的流量数据,转发到另一个网卡的流量数据。

实现原理

  1. 网络协议分层就是,物理层,数据链路层,网络层,传输层,应用层。我简单解释一下这些分层协议,
  1. 物理层就是规定数据流通的物理硬件,比如网线,光纤,wifi,物理层就是规定这些不同的物理设备怎么传输交换物理设备的。
  2. 数据链路层,就是以太网帧数据转发的,作用是一个包必须要包含电脑的mac目的地址,将数据转发到一个指定的物理电脑,mac就是物理的地址。
  3. 网络层,比数据链路层更高级点,这个协议的作用是把数据转到到特定的ip所在的电脑,一个电脑是可以有多个ip的,但是只有一个,mac地址,网络层并不知道应该把包转发给谁,只是把数据解析成以太网帧,由更底层的协议找到ip和mac的对应关系,找到这个ip在这个局域网内的mac地址并转发。
  4. 传输层,就是我们的socket,在tcp/ip写就两个协议,udp和tcp。网络层只是电脑和电脑之间的数据转发,传输层还要加上端口,我们写代码,肯定会接触到端口,所以这一层开始在网上,都可以用来开发应用软件了。
  5. 应用层,就是http,ws等协议。没什么好说的。
  1. 有了前面的网络协议知识前提,那内网穿透是网卡之间的流量转发,那具体是什么呢。一个网卡叫做一个网络适配器,其实就叫做tun,处于网络层的一个设备,在数据链路层,一般叫做tap,如果是想在一个主机上虚拟网络,类似docker的网络虚拟能力,也许会用到tap层。内网穿透使用到tun就行了。
  2. 具体实现内网穿透,过程就是,在两个电脑上分别创建两个虚拟网卡,然后这两个虚拟网卡其实就是个服务层序,他们可以使用普通的网络通信api,如果设备能上网,就可以向中心服务器发送流量数据,中心服务器再把数据包转发到另一个连接到中心的电脑的适配器上,这个适配器程序再把流量数据,写入到网卡中。操作系统的协议栈,会继续转发这个包,到运输层给相应的程序。

有哪些工具可以实现

太多了,花生壳,frp,natapp。等。有些需要自己部署服务器,有些像花生壳这样的不需要部署。这些穿透工具有的还会限制协议。
我觉得太麻烦了,自己做了个小工具,集成到了我的文件管理项目中。https://github.com/xiaobaidadada/filecat;
打开这个网址,下载完发布包后,简单配置一下就可以流量转发工具,前提是要有一台自己的公网服务器,不需要买很贵的,因为内置了p2p功能,这样流量就不用转发了,而是两个电脑直连。使用操作也是非常简单。傻瓜操作一下就行了。
这个工具还可以实现,你有一台公网服务器,但是性能不好,你想让自己的电脑上的程序被公网服务器调用,自己的电脑又没有功能,你可以在公网服务器上设置服务器模式,自己电脑设置客户端模式,不管是p2p还是流量转发都可以实现这个功能。
在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值