【网络】内网访问外网和外网访问内网的原理

article/2025/10/5 16:50:06

原文地址

公有 IP 和私有 IP 的区别

首先,我们需要了解一下什么是公有 IP 和私有 IP ?

公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向Inter NIC提出申请的组织机构,公有 IP 全球唯一,通过它直接访问因特网(直接能上网)。

私有地址(Private address):属于非注册地址,专门为组织机构内部使用,说白了,私有 IP 不能直接上网。

而我们平时通过运营商(电信、移动、联通宽带等)上网,家里面通过路由器分出来的 IP 都是私有 IP(局域网 IP),大家可能会疑问,我们可以上网啊,怎么会是私有 IP 呢?

租用(申请)公有 IP 是需要钱的。 运营商买了一些公有 IP,然后通过这些公有 IP 分出来,再分给一个一个的用户使用。这个过程有点类似于,我们去安装了宽度,通过路由器分出几个 IP,让好几个人都能上网,当然运营商通过公有 IP 分出来的过程肯定比这个复杂多了。所以,我们平时上网用的 IP 是私有 IP,真正拥有公有 IP 的是运营商(当然,我们可以租用一个公有 IP )。所以,A 家庭的局域网 IP 和 B 家庭的局域网 IP 相同很正常,但是,最终 A 和 B 能上网(数据走出去)还是通过运营商的公有 IP,毕竟,公有 IP 的资源有限,这一片区域的用户使用的很有可能(实际上就是这样的)是同一个公有 IP,这样的话,又回到前面的问题,假如 A 和 B 的局域网 IP 相同(192.168.31.11),当他们同时访问百度服务器的时候,百度服务器如何区分哪个是 A,哪个是 B 呢?

假如设A 和 B 的局域网 IP 相同(192.168.31.11),当他们同时访问百度服务器的时候,百度服务器如何区分哪个是 A,哪个是 B 呢?

解决方案:端口映射

什么是端口映射?

端口映射是 NAT 的一种,它将外网主机的 IP 地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该 IP 的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。
现在市场上的家庭路由器都具备 NAT 功能,也可以实现端口映射。下图为小米路由器的端口映射设置图:

这里写图片描述

我们平时经过路由器,通过宽带,最终去到运营商那边,数据是从运营商出去,最终数据是回到运营商那边,运营商再把数据发送到用户的电脑。
路由器,至少有两个端口:WAN 口和 LAN 口。
WAN:接外部 IP 地址用,通常指的是出口,转发来自内部 LAN 接口的 IP 数据包,这个口的 IP 是唯一的。

LAN:接内部 IP 地址用,LAN 内部是交换机。


这里,我们简化这个过程,我们把运营商当做一个 NAT 设备。

这里写图片描述

A 电脑的 IP 是局域网 IP(192.168.31.11),这个 IP(192.168.31.11)是从路由器的 lan口分配的。
当我们上百度的时候,经过路由器的 wan口,进行相应的IP、端口转化:192.168.31.11:80 -> 10.221.0.24:8080,所以,从 wan口出去的地址为:10.221.0.24:8080。

这里写图片描述

最后,经过运营商,运营商那边会做相应的端口映射(而且是动态端口映射),子网 IP(10.221.0.24:8080)转化为公网IP(128.0.0.1:8888),通过这个公网 IP 去访问百度服务器

这里写图片描述

同理,B 的过程也是一样。通过这样的层层端口映射,最终保证地址(IP + 端口)的唯一性。A 和 B 访问百度服务器,尽管它们的局域网 IP 是一样的,但是最终它们访问百度的地址(IP + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。

如何让外网能够访问自己写的网络程序(服务器)


首先,我们需要在运营商那边申请(租用)一个公有 IP (长城宽带一年需要 2000 元左右),假如这个公有 IP 为:128.0.0.123。
假如,我们写的服务器如下:

这里写图片描述

接着,找个 NAT 设备进行相应的端口映射,家庭路由器都有这个功能。这里以小米路由器为例:

这里写图片描述

映射关系如下:

这里写图片描述

最后,其他人写客户端程序时(电脑能上外网),只要指定目的 IP 地址为 128.0.0.123,端口为 8888,通过这个地址,就能找到192.168.31.248:8080,因为这两者已经建立好映射,如上图,这样,我们的服务器就能收到数据。


http://chatgpt.dhexx.cn/article/9IHRQV3J.shtml

相关文章

三阶魔方快速公式

三阶魔方快速公式: 白色做底面。 (二)做第二层棱块。 黄面为顶层,找顶层中不带黄面的棱块,将棱块面对你的颜色转到与中点色块相同处,这两块面对自己,做公式: 远,侧面上…

【玩】三阶魔方公式

每次忘记公式,找到当时记忆的公示都得查很费劲。索性记录一下。 一、基本 1、标注: 一般来说,你可能需要整体地转动魔方来找到合适的是用公式的位置,但是为了简单起见,在使用一条具体公式时,只需要转动魔…

三阶魔方公式速记

最近在玩魔方的过程中,发现魔方真正需要死记硬背的公式只有三个,分别是棱块互换、棱块上翻、角块互换。 本文不是魔方复原教程,只是总结常用的几个公式,不适合新手。 先贴上一个非常强大的网页版魔方 Cuber 1.一层 观察法 2.二层 …

三阶魔方入门级学习

文章目录 起因:认识魔方:复原步骤:任务一:拼好底层(设底层为白)目标1:在顶层(黄)中心块周围安排四个白色棱块目标2:将目前在顶层的四个白色棱块分别对准侧面中…

php编程三阶魔方,三阶魔方还原教程

大家好,或许在你们会感觉魔方的还原很难,其实不然。今天我来为大家带来三阶魔方的简单还原公式,让你能够快速上手,并且能够理解学会。 话不多说,首先我来介绍一下魔方的六个面:白,黄,红,橙,绿,蓝(白-黄,红-橙,绿-蓝)图如下: 打开搜狗搜索APP,查看更多精彩资讯 我…

四阶魔方用三阶魔方公式时,两个特殊情况处理方式(顶面十字、最后一步)

四阶魔方的玩法比较简单的,就是把他变成三阶魔方,然后用三阶魔方公式还原: (三阶魔方还原,一共只记6个公式即可,https://blog.csdn.net/Bob__yuan/article/details/86546920) 1、先按照面与面…

三阶魔方还原步骤图_七步玩转三阶魔方还原公式及步骤图解教程

魔方Rubiks Cube 又叫魔术方块,也称鲁比克方块,是匈牙利布达佩斯建筑学院厄尔诺鲁比克教授在1974年发明的。三阶魔方系由富有弹性的硬塑料制成6面正方体,共有26块小立方体。魔方与中国人发明的“华容道”,法国人发明的“独立钻石”一块被称为智力游戏界的三大不可思议。 完…

三阶魔方公式记录

第一步: 详见魔方小站视频教程:https://imofang.taobao.com/p/jiaocheng31.htm?spma1z10.4-c-s.w5003-14960603961.1.6d4723276NiLJM&scenetaobao_shop 第二步: 完成底面白色作为底层。 视频教程:https://imofang.taobao.com/p/jiaocheng32.htm?…

三阶魔方还原 - 只需7步6个公式

这段时间实验室来了段魔方热,为了教0基础的童鞋玩转三阶魔方,我就用4页纸写了4个步骤的公式教,发现写的攻略一看就懂,两个徒弟都是很快就会了,甚至徒弟都收了新的徒弟(笑死hhh ),所以…

魔方cfop公式软件_【特别篇】最全的三阶魔方公式标记法图解汇总

在【初级篇】里整理过几种简单的公式表达法,但并不完整。这篇文章,汇总了三阶魔方所有会用到的公式标记,用图解的方式表达出来,方便大家日后学习高级玩法打下基础。 一、“重新”认识魔方的六个面 魔方六个面的字母标记 这里,魔方的六个面分别用六个字母表示,这六个字母对…

三阶魔方公式

1. 术语:上、下,左、右、前、后 2. 魔方实物图 上:黄色 下:白色 左:蓝色 右:绿色 前:红色 后:橙色 3. 转法 上加:上面顺时针转90 上减:下面逆时针转90 上2&…

三阶魔方还原公式

1. 第二层棱块归位: 2. 顶层十字 3. 顶层棱中间块归位 这一步的目的是使顶层的4个棱中间块全部归位。 转动顶层(U),若可以使一个棱中间块归位(如下图左,这里以[红-黄]块为例),而其他3个都不能归位,则将[红-黄]所在这…

三阶魔方七步还原法公式备忘录

魔方公式备忘 转动符号图解 魔方七步公式: 1.底面十字还原 2.底角还原 3.中间层还原 上棱到左棱 U’L’U’LUFUF’ 上棱到右棱 URUR’U’F’U’F 4.顶面十字 循环做FRUR’U’F’直到出现十字 5.顶面还原(小鱼公式) 左手 L’U’LU’L’U’2L …

Nacos 惊爆安全漏洞,可绕过身份验证(附修复建议)

作者 | threedr3am 来源 | https://github.com/alibaba/nacos/issues/4701 我发现nacos最新版本1.4.1对于User-Agent绕过安全漏洞的serverIdentity key-value修复机制,依然存在绕过问题,在nacos开启了serverIdentity的自定义key-value鉴权后,…

web渗透测试----18、访问控制和权限提升

文章目录 一、什么是访问控制?二、什么是访问控制安全模型?1、程序访问控制2、自由访问控制(DAC)3、强制访问控制(MAC)4、基于角色的访问控制(RBAC) 三、垂直访问控制1、敏感功能可直…

WEB>SSRF(URL Bypass,数字IP Bypass,302跳转Bypass,DNS重绑定Bypass)

目录 一、URF Bypass 二、 数字IP Bypass 三、302跳转 Bypass 四、 DNS重绑定Bypass 一、URF Bypass 题目: 解题思路: 1.根据上图提示构造 urlhttp://notfound.ctfhub.com127.0.0.1/flag.php 2.访问得到flag 二、 数字IP Bypass 题目&#xff1a…

Oxeye在Harbour中发现了几个高危 IDOR 漏洞

Oxeye安全研究团队在Harbor(由云本地计算基金会(CNCF)和VMWare开发的开源构件注册中心)中发现了几个高严重性不安全的直接对象引用(IDOR)漏洞。 该公司解释说,尽管Harbor已在大多数HTTP端点上实施了基于角色的访问控制 (RBAC),但仍发现了这五个缺陷。 …

Lab: Insecure direct object references:不安全的直接对象引用

靶场内容: 该实验室将用户聊天记录直接存储在服务器的文件系统上,并使用静态 URL 检索它们。 通过找到用户的密码carlos并登录他们的帐户来解决实验室问题。 漏洞分析: 这个就是在网站里面将聊天记录存储在文件里而其他用户又可以访问这个文件…

Webgoat--访问控制缺陷

不安全的直接对象引用 (IDOR水平权限越权) 定义 不安全的直接对象引用(IDOR)允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数…

开源API越权漏洞检测系统推荐:IDOR_detect_tool

相信大部分读者跟我一样,每天都在写各种API为Web应用提供数据支持,那么您是否有想过您的API是否足够安全呢? Web应用的安全是网络安全中不可忽视的关键方面。我们必须确保其Web应用与后台通信的安全,以防止数据泄露,因…