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

news2024/11/17 4:54:32

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

实现原理

  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还是流量转发都可以实现这个功能。
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全球情绪分析软件市场规划预测:未来六年CAGR为13.6%

一、引言 随着人工智能和机器学习技术的进步,情绪分析软件市场正迅速成为科技行业的重要组成部分。本文旨在探索情绪分析软件行业的发展趋势、潜在商机及其未来展望。 二、市场趋势 全球情绪分析软件市场的增长主要受企业对客户反馈分析的需求增加、社交媒体监控的…

河底地形的表达形式及与倾斜模型的融合效果

0序: 无人机航测可以解决地表的现状获取,做流域管理,河道管理,生态管理的经常关注河床的变化。其中淤泥的堆积状态是关注的重中之重。 当前对水下高程的测绘,主要是使用无人测量船。设定个轨迹,就和无人机…

03、DQL(数据查询语句)

目录 1、编写顺序 2、基本查询 3、条件查询 4、聚合函数 5、分组查询 6、排序查询 7、分页查询 8、执行顺序 1、编写顺序 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 LIMIT 分页参数2、基本查…

手写chatGPT——fetch解析text/event-stream会话流并逐字回显到页面——js技能提升

直接上效果图&#xff1a; 页面分上下两部分&#xff0c;上面是会话界面&#xff0c;底部是提交框。 直接上代码&#xff1a; 解决步骤1&#xff1a;引入vueelementUi <head><meta charset"UTF-8" /><title>Fetch Stream Example</title>…

【java计算机毕设】社团管理系统MySQL springboot vue maven项目设计源码代码+文档 前后端可分离也可不分离

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】社团管理系统MySQL springboot vue maven项目设计源码代码文档 前后端可分离也可不分离 2项目介绍 系统功能&#xff1a; 社团管理系统包括管理员、团长、学生三种角色。 管理员功能包括个人中心模块用于修…

ElasticSearch集成webFlux响应式开发

目录 前言 1.Weflux特点&#xff1a; 2.WebFlux简单集成ElasticSearch 2.1 引入基本依赖模块 3.application.yml文件的配置 4.定义Product实体类 5.定义ElasticSearch的数据访问层接口 6.定义Controller 7.启动SpringBoot程序&#xff0c;用postman进行接口测试 前言 We…

mysql的 undo log、redo log、bin log、buffer pool

文章目录 Buffer Pool为什么需要Buffer PoolBuffer Pool 缓存了什么 Redo log为什么需要 redo log&#xff1f;redo log 什么时候刷盘&#xff1f;redo log 文件写满了怎么办&#xff1f; undo log 本文章内容都来自小林coding博主&#xff0c;基于他的文章内容&#xff0c;加一…

保研408真题练习:2010年全国硕士研究生入学统一考试(单选篇1)

&#x1f9ca;&#x1f9ca;&#x1f9ca;单项选择题&#xff08;共40道&#xff09; &#x1f9ca;数据结构&#xff08;11道&#xff09; &#x1f965;1.2.考察的都是栈和队列的入栈&#xff08;队&#xff09;出栈&#xff08;队&#xff09;问题 这道题目重点是掌握各种…

linux网络编程(2)

什么是多线程服务器&#xff1f; 先认识什么是单线程服务器 就是服务器只处理一个客户端信息。 多线程服务器类似的&#xff0c;就是处理很多个客户端的信息。 多进程服务器的核心理念 使用while循环&#xff0c;让服务器一直处于接收状态&#xff0c;每接收到一个客户端&am…

翰德恩赋能新能源龙头企业硬件敏捷研发

该企业始创于1984年&#xff0c;是全球知名的智慧能源系统解决方案提供商。创立40年来&#xff0c;形成了集“发电、储电、输电、变电、配电、售电、用电”为一体的全产业链优势&#xff0c;业务遍及140多个国家和地区&#xff0c;拥有4大全球研发中心&#xff0c;建立6大国际营…

Ldap未授权访问漏洞

LDAP中文全称为&#xff1a;轻型目录访问协议&#xff08;Lightweight Directory Access Protocol&#xff09;&#xff0c;默认使用389&#xff0c; LDAP 底层一般使用 TCP 或 UDP 作为传输协议。目录服务是一个特殊的数据库&#xff0c;是一种以树状结构的目录数据库为基础。…

药厂子母钟系统,强抗干扰能力,满足复杂生产环境

在制药行业中&#xff0c;精确的时间同步对于确保药品生产的质量和合规性至关重要。药厂子母钟系统作为一种高度可靠的时间同步解决方案&#xff0c;不仅能够提供准确的时间信息&#xff0c;还具有强大的抗干扰能力&#xff0c;非常适合在复杂的生产环境中使用。本文将详细介绍…

登录注册功能开发

本篇文章记录怎么实现一个简单的登陆注册功能。 讲解里的代码是不完全的&#xff0c;具体的代码我会放在文章最后 文章目录 准备为什么要有登录&#xff1a;简述注册功能&#xff1a;简述登录功能完全代码&#xff1a;数据实体部分&#xff1a;Users类&#xff1a;UsersLoginD…

ME31L-创建计划协议

ME31L创建计划协议 一般常用的就是LA和LPA LP不需要审批&#xff0c;LPA需要审批。 计划协议和采购申请实现的功能相同。 计划协议创建界面和创建合同的界面相同。 ME38可以分配交货计划行。 输入计划协议号。回车。 双击行项目后&#xff0c;维护行项目字段。 然后可以在货…

一个线程在sleep的时候set一个信号会起作用吗

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

代码随想录第29天|贪心

134.加油站 代码随想录 代码随想录 索引01234gas12345cost34512 计算每个加油站的剩余油量&#xff0c;累计sum&#xff0c;一旦<0就从下一个重新计数。 我还没理解为什么我们不需要计算环路的sum&#xff0c;而是只需要遍历一次。 因为使用了两个变量&#xff1a;curSu…

Java ExecutorService:你真的了解它吗?

文章目录 一、什么是ExecutorService&#xff1f;二、ExecutorService的核心功能三、如何创建和使用ExecutorService&#xff1f; 时光匆匆&#xff0c;又来到另一个里程碑&#xff0c;感谢粉丝们的陪伴&#xff0c;有你们真好~ 不水文啦&#xff0c;一起加油叭~ 一、什么是Exe…

【Java】Jsoup 解析HTML报告

一、需求背景 有好几种报告文件&#xff0c;目前是人肉找报告信息填到Excel上生成统计信息 跟用户交流了下需求和提供的几个文件&#xff0c;发现都是html文件 其实所谓的报告的文件&#xff0c;就是一些本地可打开的静态资源&#xff0c;里面也有js、img等等 二、方案选型 前…

adb环境变量配置(附详细图解)

adb环境变量配置&#xff08;附详细图解&#xff09; 1、找到ADB工具的位置。通常&#xff0c;如果你Android Studio已经安装了Android SDK&#xff0c;ADB工具位于SDK的platform-tools目录下。我这里的目录是C:\Users\user\AppData\Local\Android\Sdk\platform-tools\adb.exe…

微信防封指南请收好

一、新号与老号的添加限制 建议新注册的微信号主动添加好友的数量不宜过多&#xff0c;推荐每日添加不超过5个好友&#xff1b;对于老号&#xff0c;建议每日添加不超过20个好友。保持适度的添加速度&#xff0c;避免被系统判定为异常操作。 二、避免使用营销性词汇 在发送消…