跳转至

网络基础

有线网

通过网线(以太网)或光纤连接到互联网的物理网络。可以通过物理接入窃听。

无线网

通过2.4GHz/5GHz频段的无线电波连接到互联网的网络。信号在空中传播,容易被监听。

网络配置

Windows

输入命令:

ipconfig

macOS / Linux

输入命令:

ifconfig

Android/iOS

进入“设置” → “网络和互联网” → “Wi-Fi” → 选择已连接的网络 → 查看“高级”信息。

关键字段说明

以太网:有线网卡

蓝牙网络连接:蓝牙 PAN 网络

本地连接:通常是虚拟 Wi-Fi 适配器(例如 Wi-Fi Direct / 移动热点等)。

无线局域网适配器 WLAN:无线网卡

临时 IPv6 地址:为隐私设计的临时地址(会轮换),用于对外连接时减少被追踪。

本地链接 IPv6 地址:只在本链路有效(同一个二层网络里),不能跨路由。

网关

网关是内网通往互联网的出口。在家用网络里,它通常做这些事:

  • 路由转发::把内网设备(手机/电脑)发出的数据,转发到互联网
  • NAT:把内网私有 IP(比如 192.168.x.x)转换成公网出口
  • DHCP:给内网设备自动分配 IP、网关、DNS
  • 有时还会做防火墙、端口转发等

在电脑上看到的默认网关地址一般是 192.168.1.1 / 192.168.0.1 。这个地址是网络出口设备的内网地址。

光猫桥接(Bridge):光猫不是网关

  • 光猫只负责光电转换
  • 由路由器拨号(PPPoE)并做 NAT/DHCP
  • 网关是路由器(比如 192.168.1.1)

光猫作为路由(Router):光猫是网关

  • 光猫自己拨号并做 NAT/DHCP
  • 路由器可能变成“二级路由”或“AP”
  • 网关是光猫(电脑默认网关会指向光猫的地址)

查看当前局域网网关参数

网关 IP

ipconfig

网关 MAC 地址

ping your_gateway_ip #让系统把它写进 ARP 表
arp -a your_gateway_ip #查 ARP

有了 MAC 的前三组(OUI),就能大概率判断厂商(华为/锐捷/TP-Link/小米/思科等)。

虚拟网关

00-00-5E 是标准组织 IANA 分配给一种虚拟路由协议的 MAC 地址空间,用于:

VRRP(Virtual Router Redundancy Protocol)

HSRP(思科的类似协议)

CARP(BSD 的版本)

这意味着所在网络是大规模企业网/校园网结构,网关可能由两台或多台路由设备组成。

网关名称 / 设备名

nslookup your_gateway_ip

如果网络有 PTR 记录,可能会返回一个主机名;没有就会失败/返回 Unknown。

或:

ping -a your_gateway_ip

如果能解析,会显示类似 Pinging router.local [your_gateway_ip];解析不了就只显示 IP。

或:

tracert 1.1.1.1

第一跳通常就是网关(可能显示名字或只显示 IP)。

子网掩码

子网掩码告诉电脑:哪些位是“网络号”(同一局域网),哪些位是“主机号”(这台设备)。它用来判断目标 IP 和本机是不是在同一个子网/局域网里。

例如,子网掩码:

255.255.0.0 等价于 /16(前 16 位是网络号)。例如,同一子网的范围是:10.196.0.0 ~ 10.196.255.255

255.255.255.0 等价于 /24(同网段 256 个地址左右)。

做按位与(AND)判断两台机器是否同一网段:网络号 = IP 地址 AND 子网掩码

例如:

  • 10.196.69.101 AND 255.255.0.0 = 10.196.0.0
  • 如果另一台是 10.196.8.20 10.196.8.20 AND 255.255.0.0 也是 10.196.0.0 → 同网段
  • 如果另一台是 10.197.8.20 AND 后会变成 10.197.0.0 → 不同网段,走网关

IP地址

IPv4

局域网(RFC1918 私网段)

10.0.0.0 ~ 10.255.255.255(10/8)

172.16.0.0 ~ 172.31.255.255(172.16/12)

192.168.0.0 ~ 192.168.255.255(192.168/16)

169.254.0.0/16:APIPA 自动地址(没拿到 DHCP 时)

100.64.0.0/10:运营商 CGNAT 内网(不是局域网,也不是公网)

ARP

ARP(Address Resolution Protocol,地址解析协议)可以在 IPv4 局域网 里把IP 地址翻译成MAC 地址。ARP 只在同一二层网络/广播域里有效。

当你的电脑要访问同网段的某个 IPv4 目标:

如果在同一子网,它需要对方的 MAC 地址 才能发以太网帧。

  1. 它会广播一个 ARP Request
  2. 目标主机会回一个 ARP Reply
  3. 电脑把这个映射缓存起来(ARP 缓存/ARP 表),之后一段时间内就不用再问了。

如果访问的目标 不在同一子网

  1. 电脑不会去 ARP 8.8.8.8(它不在本地局域网,ARP 广播也到不了它)
  2. 它会把包交给 默认网关
  3. 通过默认网关的IP地址去ARP默认网关的MAC地址
  4. 然后把以太网帧发给网关,由网关帮你转发到外网。

IPv6

局域网

前缀:

fe80::/10 —— 链路本地地址(Link-Local)

  • 只能在同一个二层网络里用(同一个 Wi-Fi/交换机这一跳)
  • 一定是“本地/局域网意义上的地址”

fc00::/7(常见 fdxx:)—— IPv6 私网/ULA(Unique Local Address)

  • 类似 IPv4 的私网(不应在公网路由)
  • 类似于fd12:3456:...一般就是“内网 IPv6”。

2000::/3 —— 全球单播地址(Global Unicast)公网 IPv6

  • 大多数公网 IPv6 都在这个范围(2xxx/3xxx 开头)
  • 你的是:2408:8642:...(2408 开头属于 2000::/3 范围)

::1 —— 本机回环(Loopback)

  • 指本机。

连接

入站连接:外部设备主动向本地设备发起的连接请求

  • 防火墙:入站连接通常需要防火墙允许才能通过(默认情况下,防火墙会阻止所有入站连接,以防止未经授权的外部访问)。

  • 安全风险:入站连接是网络攻击的常见入口(比如黑客扫描开放端口并发起入站连接试图入侵),因此需要谨慎开放入站端口(如仅允许可信IP或应用)。

连接过程: 1. 公司的电脑(外网)主动向路由器的公网IP(123.123.123.123)的3389端口发起连接。 2. 路由器检查它的 NAT连接跟踪表,发现 没有任何一条现有记录 是关于 公网IP:3389 这个端口的。 3. 路由器不知道这个包应该发给内网的哪个设备。默认情况下,出于安全考虑,路由器的防火墙会 丢弃这个包,连接失败。

  • 端口转发:在路由器上设置一条规则,将外部网络(互联网)对路由器特定端口的访问请求,自动转发到内网中指定设备的指定端口上。

出站连接:本地设备主动向外部设备发起的连接请求。普通用户正常上网几乎全部是 “由内网设备主动向外网服务器发起连接”

连接过程: 1. 电脑(内网IP,如 192.168.1.100) 想访问谷歌服务器(公网IP,如 142.250.185.78)。 2. 电脑生成一个TCP连接请求包。这个包里有: * 源IP: 192.168.1.100 * 源端口: 一个随机的高位端口(比如 54321) * 目标IP: 142.250.185.78 * 目标端口: 80 (HTTP) 或 443 (HTTPS) 3. 这个包到达路由器。 4. 路由器进行NAT转换: * 它把数据包的 源IP 改成路由器自己的 公网IP(比如 123.123.123.123)。 * 它把数据包的 源端口 也改成一个 随机的外网端口(比如 65500)。路由器会记住这个映射关系 5. 路由器在自己的 NAT连接跟踪表 里创建一条记录: 内网IP:内网端口 <--> 公网IP:外网端口 <--> 目标服务器IP:目标端口 例如:192.168.1.100:54321 <--> 123.123.123.123:65500 <--> 142.250.185.78:443 6. 修改后的数据包(源IP:端口 = 123.123.123.123:65500)被发送到互联网,最终到达谷歌服务器。 7. 响应数据包同理返回电脑。

  • 被动节点不主动产生业务流量不主动发起会话的实体。它通常监听(listen)或等待(wait)来自其他节点的请求,然后根据请求进行响应或转发。一般指服务器。

  • 主动节点:主动发起连接、发起查询或主动推送数据。

NAT

NAT(网络地址转换)是路由器将内网私有IP转换为公网IP的技术。

NAT Type 1(Open / Direct) - 设备直接获取公网IP,无NAT - 连接成功率:100%

NAT Type 2(Moderate) - 特点:有防火墙但端口有限制 - 连接成功率:较高

NAT Type 3(Strict) - 特点:严格NAT,需手动配置端口映射 - 连接成功率:中等

NAT Type 4(Symmetric) - 特点:每次连接分配不同端口 - 连接成功率:最低

改善NAT类型

  • UPnP(通用即插即用):客户端自动在路由器上创建端口映射

  • NAT-PMP(苹果的端口映射协议):与UPnP类似,但更轻量级

  • 手动端口映射:登录路由器管理界面,手动设置端口转发规则

  • DMZ(非军事区):将设备完全暴露在公网,不推荐使用

CGNAT

运营商级网络地址转换。运营商(移动、联通、电信等)因为IPv4地址枯竭,在其网络内部又做了一层NAT。路由器获取到的WAN口IP地址(在路由器管理页面看到的外网IP)是一个内网IP(通常是 100.64.x.x100.127.x.x10.x.x.x),而不是全球唯一的公网IP。

如何判断自己是否在CGNAT下?

  1. 查看路由器WAN口IP:登录路由器管理界面,找到“网络状态”或“WAN口信息”,记下IP地址。
  2. 与公网IP对比:用手机或电脑直接访问 ip138.comwhatismyip.com,查看你当前的公网IP。
  3. 如果两个IP地址一致:恭喜,你有公网IP(但可能仍需端口转发)。如果两个IP地址完全不同,且路由器WAN口IP是 100.64.x.x10.x.x.x172.16.x.x ~ 172.31.x.x192.168.x.x 这些范围内的任何一个:那么你极有可能处于CGNAT之下。

CGNAT的影响: 这是比家庭路由器NAT更严重的一层障碍。即使你在自家路由器上做了完美的端口转发,外面来的连接请求也会被运营商的CGNAT设备挡住,无法到达你的路由器。 这是目前很多移动宽带用户BT下载慢的主要原因。

localhost

localhost 是计算机在网络中对自己的一种称呼,意思是“本机”或“本地主机”。

localhost 是一个域名,它对应的 IP 地址通常是 127.0.0.1(在 IPv4 标准下)或 ::1(在 IPv6 标准下)。当向 localhost 发送数据时,数据包通常不会经过物理网卡(网线或 Wi-Fi),也不会传输到外部网络。操作系统会在内部直接把数据“回环”拦截下来,送回给本机。

  • Loopback Interface(回环接口): 这是一个虚拟的网络接口。即便电脑拔掉了网线、断开了 Wi-Fi,这个接口依然存在且能工作。

网络层级

每一层都为上一层提供服务,并对数据进行“打包”。

应用层 (Application Layer)

  • 协议: HTTP, HTTPS, FTP, DNS
  • 功能: 产生数据。比如浏览器发起一个 GET / 请求。
  • 作用服务: 环境变量中设置的HTTPS_PROXY 就作用在这一层。它直接修改了程序的行为,让程序不再直接找目标地址,而是打包好数据发给代理地址。

HTTP

用HTTP协议访问服务器时,默认访问80端口。

HTTPS

用HTTPS协议访问服务器时,默认访问443端口。

传输层 (Transport Layer)

  • 代表协议: TCP, UDP
  • 功能: 负责建立连接(三次握手)。它只关心 端口号 (Port)

网络层 (Network Layer)

  • 代表协议: IP (IPv4, IPv6), ICMP
  • 功能: 负责路由,决定数据包往哪个 IP 地址 走。
  • 作用服务: localhost 触发了系统的回环驱动,数据包直接在内核里原地调头,不发往物理线路。
  • 硬件: 网卡、网线、Wi-Fi 信号。