20260716
适用对象:GNSS 定位终端、嵌入式设备和网络通信初学者
典型场景:电脑连接定位终端提供的 Wi‑Fi,使用 MobaXterm 登录终端并下载 RINEX、日志或定位结果文件
1. 先理解最核心的原理
终端设备"发出一个 Wi‑Fi 热点",并不表示它在发出互联网流量。
更准确地说,终端的 Wi‑Fi 模块工作在 AP 模式,在终端周围建立了一个小型无线局域网。电脑连接这个热点,相当于电脑和终端之间接上了一根"无线网线"。
#mermaid-svg-7Jjbdmx7RTcq448g{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-7Jjbdmx7RTcq448g .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-7Jjbdmx7RTcq448g .error-icon{fill:#552222;}#mermaid-svg-7Jjbdmx7RTcq448g .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7Jjbdmx7RTcq448g .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7Jjbdmx7RTcq448g .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7Jjbdmx7RTcq448g .marker.cross{stroke:#333333;}#mermaid-svg-7Jjbdmx7RTcq448g svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7Jjbdmx7RTcq448g p{margin:0;}#mermaid-svg-7Jjbdmx7RTcq448g .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-7Jjbdmx7RTcq448g .cluster-label text{fill:#333;}#mermaid-svg-7Jjbdmx7RTcq448g .cluster-label span{color:#333;}#mermaid-svg-7Jjbdmx7RTcq448g .cluster-label span p{background-color:transparent;}#mermaid-svg-7Jjbdmx7RTcq448g .label text,#mermaid-svg-7Jjbdmx7RTcq448g span{fill:#333;color:#333;}#mermaid-svg-7Jjbdmx7RTcq448g .node rect,#mermaid-svg-7Jjbdmx7RTcq448g .node circle,#mermaid-svg-7Jjbdmx7RTcq448g .node ellipse,#mermaid-svg-7Jjbdmx7RTcq448g .node polygon,#mermaid-svg-7Jjbdmx7RTcq448g .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-7Jjbdmx7RTcq448g .rough-node .label text,#mermaid-svg-7Jjbdmx7RTcq448g .node .label text,#mermaid-svg-7Jjbdmx7RTcq448g .image-shape .label,#mermaid-svg-7Jjbdmx7RTcq448g .icon-shape .label{text-anchor:middle;}#mermaid-svg-7Jjbdmx7RTcq448g .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-7Jjbdmx7RTcq448g .rough-node .label,#mermaid-svg-7Jjbdmx7RTcq448g .node .label,#mermaid-svg-7Jjbdmx7RTcq448g .image-shape .label,#mermaid-svg-7Jjbdmx7RTcq448g .icon-shape .label{text-align:center;}#mermaid-svg-7Jjbdmx7RTcq448g .node.clickable{cursor:pointer;}#mermaid-svg-7Jjbdmx7RTcq448g .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-7Jjbdmx7RTcq448g .arrowheadPath{fill:#333333;}#mermaid-svg-7Jjbdmx7RTcq448g .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-7Jjbdmx7RTcq448g .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-7Jjbdmx7RTcq448g .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7Jjbdmx7RTcq448g .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-7Jjbdmx7RTcq448g .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7Jjbdmx7RTcq448g .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-7Jjbdmx7RTcq448g .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-7Jjbdmx7RTcq448g .cluster text{fill:#333;}#mermaid-svg-7Jjbdmx7RTcq448g .cluster span{color:#333;}#mermaid-svg-7Jjbdmx7RTcq448g div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-7Jjbdmx7RTcq448g .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-7Jjbdmx7RTcq448g rect.text{fill:none;stroke-width:0;}#mermaid-svg-7Jjbdmx7RTcq448g .icon-shape,#mermaid-svg-7Jjbdmx7RTcq448g .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7Jjbdmx7RTcq448g .icon-shape p,#mermaid-svg-7Jjbdmx7RTcq448g .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-7Jjbdmx7RTcq448g .icon-shape .label rect,#mermaid-svg-7Jjbdmx7RTcq448g .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7Jjbdmx7RTcq448g .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-7Jjbdmx7RTcq448g .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-7Jjbdmx7RTcq448g :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 本地无线局域网
终端存储器中的文件
终端操作系统
SSH/SFTP服务
终端Wi-Fi模块/AP
电脑Wi-Fi网卡
MobaXterm
电脑本地磁盘
在这个局域网中:
- 终端拥有一个本地 IP,例如
192.168.4.1; - 电脑拥有另一个本地 IP,例如
192.168.4.2; - 终端运行 SSH/SFTP 服务;
- MobaXterm 是电脑上的 SSH/SFTP 客户端;
- 电脑通过本地 Wi‑Fi 链路向终端请求文件;
- 终端读取存储器中的文件,再通过 Wi‑Fi 发送给电脑。
数据路径是:
text
终端文件
→ 终端操作系统
→ SSH/SFTP
→ 终端Wi-Fi模块
→ 无线电波
→ 电脑Wi-Fi网卡
→ MobaXterm
→ 电脑磁盘
整个过程只发生在:
text
电脑 ↔ GNSS定位终端
之间,不需要经过运营商基站、4G/5G 网络或因特网。
1.1 为什么没有互联网也能下载
"网络通信"和"访问互联网"不是同一个概念。
两台设备只要能够组成一个局域网,就可以互相传输数据。例如:
text
两台电脑用网线直连
电脑与打印机连接同一Wi-Fi
电脑连接相机热点
电脑连接GNSS终端热点
这些场景即使完全没有互联网,也可以:
- 传输文件;
- 登录设备;
- 打开设备管理页面;
- 发送控制命令。
因此:
Wi‑Fi 热点首先提供的是本地无线连接,而不是付费互联网服务。
1.2 Wi‑Fi 模块、SSH 和 MobaXterm分别做什么
| 组件 | 主要作用 |
|---|---|
| 终端 Wi‑Fi 模块 | 建立无线链路,收发 Wi‑Fi 数据 |
| 终端操作系统 | 管理网络、文件系统和用户权限 |
| SSH 服务 | 提供安全登录、认证和加密通信 |
| SFTP/SCP | 在 SSH 体系中传输文件 |
| MobaXterm | 作为电脑端客户端,登录终端并下载文件 |
Wi‑Fi 模块本身不会"主动把文件送给电脑"。真正的过程是:
text
MobaXterm提出文件读取请求
→ 终端SSH/SFTP服务处理请求
→ 终端操作系统读取文件
→ Wi-Fi模块负责发送数据
本文假设 GNSS 定位终端运行支持 SSH 的操作系统,并已启动 SSH/SFTP 服务。
2. 使用 MobaXterm 需要哪些信息
通常需要:
text
终端IP地址
SSH服务端口
登录用户名
密码或SSH私钥
例如:
text
终端IP:192.168.4.1
SSH端口:22
用户名:root
认证方式:密码
MobaXterm 中可填写:
text
Remote host:192.168.4.1
Port:22
Username:root
2.1 IP 地址负责找到设备
例如:
text
电脑IP:192.168.4.2
终端IP:192.168.4.1
电脑访问 192.168.4.1,就是访问终端的网络接口。
如果终端支持主机名、mDNS 或自动发现,也可能使用:
text
gnss-terminal.local
连接,但底层仍需把名称解析为 IP 地址。
因此:
网络通信必须确定目标 IP,但用户不一定每次都要手工输入 IP。
2.2 端口号负责找到服务
一台设备可以同时运行多个网络服务:
| 服务 | 常见传输协议与端口 |
|---|---|
| SSH、SFTP、SCP | TCP 22 |
| HTTP | TCP 80 |
| HTTPS | TCP 443 |
| FTP 控制连接 | TCP 21 |
| NTRIP | 常见为 TCP 2101,但可修改 |
| 自定义数据服务 | 由程序定义 |
可以类比为:
text
IP地址 → 找到一栋楼
端口号 → 找到楼中的具体房间
例如:
text
192.168.4.1:22
表示访问 192.168.4.1 上监听 TCP 22 端口的服务。
SSH 默认端口是 TCP 22,但终端厂商可以改为其他端口。
2.3 用户名和认证信息负责证明身份
IP 和端口只能找到 SSH 服务,服务器还需要验证访问者身份。
常见方式包括:
- 用户名和密码;
- SSH 私钥;
- 证书等扩展认证方式。
首次连接时,MobaXterm 通常会显示 SSH 主机密钥指纹。
主机指纹的作用是确认服务器身份,但前提是:
- 指纹已通过说明书、管理员或其他可信渠道核对;
- 或后续连接时与首次保存的指纹一致。
仅仅点击"接受未知指纹",并不能自动排除设备被冒充的可能。
3. 电脑和终端怎样获得 IP 地址
常见有两种工作模式。
3.1 终端作为 Wi‑Fi 热点:AP 模式
终端开启热点,例如:
text
SSID:GNSS_TERMINAL_001
密码:********
终端 Wi‑Fi 接口可能使用:
text
192.168.4.1/24
其中:
192.168.4.1:终端 IPv4 地址;/24:网络前缀长度,对应子网掩码255.255.255.0。
电脑可以通过两种方式获得地址。
方式一:终端运行 DHCP 服务
终端可能自动分配:
text
电脑IP:192.168.4.2
子网掩码:255.255.255.0
还可能下发:
text
默认网关:192.168.4.1
DNS服务器:192.168.4.1
但本地 SSH 通信通常不需要默认网关和 DNS。只要:
text
电脑:192.168.4.2/24
终端:192.168.4.1/24
并且二层链路允许互通,就可以直接访问。
方式二:电脑手工配置静态 IP
有些终端只提供 AP,不运行 DHCP。
此时可以手工配置:
text
电脑IP:192.168.4.2
子网掩码:255.255.255.0
再访问:
text
192.168.4.1:22
#mermaid-svg-VAg2mi92zGvoT0Ut{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VAg2mi92zGvoT0Ut .error-icon{fill:#552222;}#mermaid-svg-VAg2mi92zGvoT0Ut .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VAg2mi92zGvoT0Ut .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VAg2mi92zGvoT0Ut .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VAg2mi92zGvoT0Ut .marker.cross{stroke:#333333;}#mermaid-svg-VAg2mi92zGvoT0Ut svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VAg2mi92zGvoT0Ut p{margin:0;}#mermaid-svg-VAg2mi92zGvoT0Ut .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster-label text{fill:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster-label span{color:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster-label span p{background-color:transparent;}#mermaid-svg-VAg2mi92zGvoT0Ut .label text,#mermaid-svg-VAg2mi92zGvoT0Ut span{fill:#333;color:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut .node rect,#mermaid-svg-VAg2mi92zGvoT0Ut .node circle,#mermaid-svg-VAg2mi92zGvoT0Ut .node ellipse,#mermaid-svg-VAg2mi92zGvoT0Ut .node polygon,#mermaid-svg-VAg2mi92zGvoT0Ut .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-VAg2mi92zGvoT0Ut .rough-node .label text,#mermaid-svg-VAg2mi92zGvoT0Ut .node .label text,#mermaid-svg-VAg2mi92zGvoT0Ut .image-shape .label,#mermaid-svg-VAg2mi92zGvoT0Ut .icon-shape .label{text-anchor:middle;}#mermaid-svg-VAg2mi92zGvoT0Ut .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-VAg2mi92zGvoT0Ut .rough-node .label,#mermaid-svg-VAg2mi92zGvoT0Ut .node .label,#mermaid-svg-VAg2mi92zGvoT0Ut .image-shape .label,#mermaid-svg-VAg2mi92zGvoT0Ut .icon-shape .label{text-align:center;}#mermaid-svg-VAg2mi92zGvoT0Ut .node.clickable{cursor:pointer;}#mermaid-svg-VAg2mi92zGvoT0Ut .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-VAg2mi92zGvoT0Ut .arrowheadPath{fill:#333333;}#mermaid-svg-VAg2mi92zGvoT0Ut .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-VAg2mi92zGvoT0Ut .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-VAg2mi92zGvoT0Ut .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VAg2mi92zGvoT0Ut .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-VAg2mi92zGvoT0Ut .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VAg2mi92zGvoT0Ut .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster text{fill:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut .cluster span{color:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-VAg2mi92zGvoT0Ut .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-VAg2mi92zGvoT0Ut rect.text{fill:none;stroke-width:0;}#mermaid-svg-VAg2mi92zGvoT0Ut .icon-shape,#mermaid-svg-VAg2mi92zGvoT0Ut .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VAg2mi92zGvoT0Ut .icon-shape p,#mermaid-svg-VAg2mi92zGvoT0Ut .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-VAg2mi92zGvoT0Ut .icon-shape .label rect,#mermaid-svg-VAg2mi92zGvoT0Ut .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VAg2mi92zGvoT0Ut .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-VAg2mi92zGvoT0Ut .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-VAg2mi92zGvoT0Ut :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Wi-Fi
TCP 22
电脑
192.168.4.2/24
终端AP
192.168.4.1/24
需要区分:
text
Wi-Fi AP
DHCP
路由
NAT
互联网出口
这些是不同功能。终端开启热点,不代表它一定提供 DHCP、路由或互联网共享。
3.2 终端和电脑连接同一个 AP:STA 模式
终端也可以作为 Wi‑Fi 客户端,与电脑连接同一个路由器或 AP:
text
路由器:192.168.1.1
电脑:192.168.1.100
终端:192.168.1.120
此时电脑访问:
text
192.168.1.120:22
#mermaid-svg-jy2QteuLEBN6PiRg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-jy2QteuLEBN6PiRg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-jy2QteuLEBN6PiRg .error-icon{fill:#552222;}#mermaid-svg-jy2QteuLEBN6PiRg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-jy2QteuLEBN6PiRg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-jy2QteuLEBN6PiRg .marker{fill:#333333;stroke:#333333;}#mermaid-svg-jy2QteuLEBN6PiRg .marker.cross{stroke:#333333;}#mermaid-svg-jy2QteuLEBN6PiRg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-jy2QteuLEBN6PiRg p{margin:0;}#mermaid-svg-jy2QteuLEBN6PiRg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-jy2QteuLEBN6PiRg .cluster-label text{fill:#333;}#mermaid-svg-jy2QteuLEBN6PiRg .cluster-label span{color:#333;}#mermaid-svg-jy2QteuLEBN6PiRg .cluster-label span p{background-color:transparent;}#mermaid-svg-jy2QteuLEBN6PiRg .label text,#mermaid-svg-jy2QteuLEBN6PiRg span{fill:#333;color:#333;}#mermaid-svg-jy2QteuLEBN6PiRg .node rect,#mermaid-svg-jy2QteuLEBN6PiRg .node circle,#mermaid-svg-jy2QteuLEBN6PiRg .node ellipse,#mermaid-svg-jy2QteuLEBN6PiRg .node polygon,#mermaid-svg-jy2QteuLEBN6PiRg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-jy2QteuLEBN6PiRg .rough-node .label text,#mermaid-svg-jy2QteuLEBN6PiRg .node .label text,#mermaid-svg-jy2QteuLEBN6PiRg .image-shape .label,#mermaid-svg-jy2QteuLEBN6PiRg .icon-shape .label{text-anchor:middle;}#mermaid-svg-jy2QteuLEBN6PiRg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-jy2QteuLEBN6PiRg .rough-node .label,#mermaid-svg-jy2QteuLEBN6PiRg .node .label,#mermaid-svg-jy2QteuLEBN6PiRg .image-shape .label,#mermaid-svg-jy2QteuLEBN6PiRg .icon-shape .label{text-align:center;}#mermaid-svg-jy2QteuLEBN6PiRg .node.clickable{cursor:pointer;}#mermaid-svg-jy2QteuLEBN6PiRg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-jy2QteuLEBN6PiRg .arrowheadPath{fill:#333333;}#mermaid-svg-jy2QteuLEBN6PiRg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-jy2QteuLEBN6PiRg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-jy2QteuLEBN6PiRg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jy2QteuLEBN6PiRg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-jy2QteuLEBN6PiRg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jy2QteuLEBN6PiRg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-jy2QteuLEBN6PiRg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-jy2QteuLEBN6PiRg .cluster text{fill:#333;}#mermaid-svg-jy2QteuLEBN6PiRg .cluster span{color:#333;}#mermaid-svg-jy2QteuLEBN6PiRg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-jy2QteuLEBN6PiRg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-jy2QteuLEBN6PiRg rect.text{fill:none;stroke-width:0;}#mermaid-svg-jy2QteuLEBN6PiRg .icon-shape,#mermaid-svg-jy2QteuLEBN6PiRg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jy2QteuLEBN6PiRg .icon-shape p,#mermaid-svg-jy2QteuLEBN6PiRg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-jy2QteuLEBN6PiRg .icon-shape .label rect,#mermaid-svg-jy2QteuLEBN6PiRg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jy2QteuLEBN6PiRg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-jy2QteuLEBN6PiRg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-jy2QteuLEBN6PiRg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Wi-Fi或网线
Wi-Fi
电脑
192.168.1.100
路由器/AP
GNSS终端
192.168.1.120
两台设备即使连接同一个 SSID,也不一定能够互访。以下配置可能阻断通信:
- 无线客户端隔离;
- 访客网络隔离;
- 不同 VLAN;
- 防火墙或访问控制策略。
4. 怎样确认终端 IP 和 SSH 端口
4.1 优先查看说明书或已有配置
厂商可能规定默认地址,例如:
text
192.168.1.1
192.168.4.1
192.168.10.1
如果以前连接成功,也可以查看 MobaXterm 保存的:
text
Remote host
Port
Username
4.2 查看电脑网络配置
Windows:
cmd
ipconfig
可能看到:
text
IPv4地址:192.168.4.2
子网掩码:255.255.255.0
默认网关:192.168.4.1
默认网关经常是终端地址,但不能绝对依赖:
- 终端可能没有下发默认网关;
- 本地 SSH 不需要默认网关;
- 终端地址未必等于系统显示的网关地址。
4.3 查看邻居表
Windows:
cmd
arp -a
PowerShell:
powershell
Get-NetNeighbor
Linux:
bash
ip neigh
邻居表只显示系统已经发现或通信过的邻居,不保证列出网络中的全部设备。
4.4 测试 SSH 端口
Windows PowerShell:
powershell
Test-NetConnection 192.168.4.1 -Port 22
TCP 测试成功表示:
text
目标地址可达
+
该TCP端口接受了连接
但这还不能证明用户名和密码一定正确。
5. SSH 登录是怎样建立的
在这个场景中:
text
MobaXterm → SSH客户端
GNSS终端 → SSH服务器
终端常见的 SSH 服务程序是 sshd,也可能使用其他兼容实现。
5.1 先建立 TCP 连接
例如:
text
源:192.168.4.2:53000
目标:192.168.4.1:22
其中:
192.168.4.2:电脑 IP;53000:电脑临时选择的源端口;192.168.4.1:终端 IP;22:终端 SSH 服务端口。
一个 TCP 连接通常由以下四项区分:
text
源IP
源端口
目标IP
目标端口
5.2 再完成 SSH 协商和认证
SSH 通常依次完成:
- 协议版本协商;
- 密钥交换和加密算法协商;
- 服务器身份验证;
- 用户身份认证;
- 创建远程 Shell、SFTP 或其他 SSH 通道。
登录成功后,在 MobaXterm 终端窗口执行:
bash
ls
cd /data
pwd
cp
rm
这些命令是在 GNSS 终端上运行,不是在电脑本地运行。
5.3 SSH 和 Wi‑Fi 加密不是同一层
如果热点使用 WPA2 或 WPA3,通常存在两层保护:
text
Wi-Fi链路加密
+
SSH端到端会话加密
其中:
- Wi‑Fi 加密保护本地无线链路;
- SSH 加密保护电脑和 SSH 服务之间的会话内容。
开放式 Wi‑Fi 网络可能没有链路层加密,但 SSH 会话本身仍然可以加密。
6. MobaXterm 怎样下载文件
MobaXterm 建立 SSH 会话后,左侧通常会显示远程文件浏览器。
该功能一般使用:
text
SFTP
部分配置或操作也可能使用:
text
SCP
可简单理解为:
text
SSH
→ 建立安全连接并完成认证
SFTP或SCP
→ 在SSH体系中传输文件
6.1 SFTP 与 FTP 不是同一种协议
| 对比项 | SFTP | FTP |
|---|---|---|
| 完整名称 | SSH File Transfer Protocol | File Transfer Protocol |
| 所属体系 | 运行在 SSH 通道中 | 独立文件传输协议 |
| 常见端口 | 通常与 SSH 相同,为 TCP 22 | 控制连接通常为 TCP 21 |
| 默认是否加密 | 是 | 普通 FTP 默认不加密 |
| 是否需要 FTP 服务 | 不需要 | 需要 |
SFTP 不是把普通 FTP 简单"套上一层加密",而是独立设计的 SSH 文件传输协议。
6.2 SFTP 是否复用当前 SSH 连接
不一定。
MobaXterm 可能:
- 在当前 SSH 连接中再打开一个 SFTP 通道;
- 或另建一个 SSH 连接用于文件浏览。
两种方式通常都访问同一个 SSH 服务端口。
6.3 文件下载过程
假设下载:
text
/data/20260716.obs
终端文件系统 终端SSH/SFTP服务 MobaXterm 终端文件系统 终端SSH/SFTP服务 MobaXterm #mermaid-svg-Se7rX02e2tJKifDu{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Se7rX02e2tJKifDu .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Se7rX02e2tJKifDu .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Se7rX02e2tJKifDu .error-icon{fill:#552222;}#mermaid-svg-Se7rX02e2tJKifDu .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Se7rX02e2tJKifDu .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Se7rX02e2tJKifDu .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Se7rX02e2tJKifDu .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Se7rX02e2tJKifDu .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Se7rX02e2tJKifDu .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Se7rX02e2tJKifDu .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Se7rX02e2tJKifDu .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Se7rX02e2tJKifDu .marker.cross{stroke:#333333;}#mermaid-svg-Se7rX02e2tJKifDu svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Se7rX02e2tJKifDu p{margin:0;}#mermaid-svg-Se7rX02e2tJKifDu .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Se7rX02e2tJKifDu text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-Se7rX02e2tJKifDu .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-Se7rX02e2tJKifDu .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-Se7rX02e2tJKifDu .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-Se7rX02e2tJKifDu .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-Se7rX02e2tJKifDu #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-Se7rX02e2tJKifDu .sequenceNumber{fill:white;}#mermaid-svg-Se7rX02e2tJKifDu #sequencenumber{fill:#333;}#mermaid-svg-Se7rX02e2tJKifDu #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-Se7rX02e2tJKifDu .messageText{fill:#333;stroke:none;}#mermaid-svg-Se7rX02e2tJKifDu .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Se7rX02e2tJKifDu .labelText,#mermaid-svg-Se7rX02e2tJKifDu .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-Se7rX02e2tJKifDu .loopText,#mermaid-svg-Se7rX02e2tJKifDu .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-Se7rX02e2tJKifDu .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-Se7rX02e2tJKifDu .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-Se7rX02e2tJKifDu .noteText,#mermaid-svg-Se7rX02e2tJKifDu .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-Se7rX02e2tJKifDu .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Se7rX02e2tJKifDu .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Se7rX02e2tJKifDu .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Se7rX02e2tJKifDu .actorPopupMenu{position:absolute;}#mermaid-svg-Se7rX02e2tJKifDu .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-Se7rX02e2tJKifDu .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Se7rX02e2tJKifDu .actor-man circle,#mermaid-svg-Se7rX02e2tJKifDu line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-Se7rX02e2tJKifDu :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 建立SSH连接并认证 请求打开远端文件 检查权限并读取文件 返回文件数据块 通过SSH和TCP发送数据 写入电脑本地磁盘 继续请求后续数据
文件一般分块读取和传输,不是一次性整体移动。
7. 文件数据经过哪些网络层次
#mermaid-svg-um3PI5rXcCfzAFF9{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-um3PI5rXcCfzAFF9 .error-icon{fill:#552222;}#mermaid-svg-um3PI5rXcCfzAFF9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-um3PI5rXcCfzAFF9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-um3PI5rXcCfzAFF9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-um3PI5rXcCfzAFF9 .marker.cross{stroke:#333333;}#mermaid-svg-um3PI5rXcCfzAFF9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-um3PI5rXcCfzAFF9 p{margin:0;}#mermaid-svg-um3PI5rXcCfzAFF9 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster-label text{fill:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster-label span{color:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster-label span p{background-color:transparent;}#mermaid-svg-um3PI5rXcCfzAFF9 .label text,#mermaid-svg-um3PI5rXcCfzAFF9 span{fill:#333;color:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 .node rect,#mermaid-svg-um3PI5rXcCfzAFF9 .node circle,#mermaid-svg-um3PI5rXcCfzAFF9 .node ellipse,#mermaid-svg-um3PI5rXcCfzAFF9 .node polygon,#mermaid-svg-um3PI5rXcCfzAFF9 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-um3PI5rXcCfzAFF9 .rough-node .label text,#mermaid-svg-um3PI5rXcCfzAFF9 .node .label text,#mermaid-svg-um3PI5rXcCfzAFF9 .image-shape .label,#mermaid-svg-um3PI5rXcCfzAFF9 .icon-shape .label{text-anchor:middle;}#mermaid-svg-um3PI5rXcCfzAFF9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-um3PI5rXcCfzAFF9 .rough-node .label,#mermaid-svg-um3PI5rXcCfzAFF9 .node .label,#mermaid-svg-um3PI5rXcCfzAFF9 .image-shape .label,#mermaid-svg-um3PI5rXcCfzAFF9 .icon-shape .label{text-align:center;}#mermaid-svg-um3PI5rXcCfzAFF9 .node.clickable{cursor:pointer;}#mermaid-svg-um3PI5rXcCfzAFF9 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-um3PI5rXcCfzAFF9 .arrowheadPath{fill:#333333;}#mermaid-svg-um3PI5rXcCfzAFF9 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-um3PI5rXcCfzAFF9 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-um3PI5rXcCfzAFF9 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-um3PI5rXcCfzAFF9 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-um3PI5rXcCfzAFF9 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-um3PI5rXcCfzAFF9 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster text{fill:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 .cluster span{color:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-um3PI5rXcCfzAFF9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-um3PI5rXcCfzAFF9 rect.text{fill:none;stroke-width:0;}#mermaid-svg-um3PI5rXcCfzAFF9 .icon-shape,#mermaid-svg-um3PI5rXcCfzAFF9 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-um3PI5rXcCfzAFF9 .icon-shape p,#mermaid-svg-um3PI5rXcCfzAFF9 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-um3PI5rXcCfzAFF9 .icon-shape .label rect,#mermaid-svg-um3PI5rXcCfzAFF9 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-um3PI5rXcCfzAFF9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-um3PI5rXcCfzAFF9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-um3PI5rXcCfzAFF9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 终端文件系统
SFTP或SCP
SSH加密与封装
TCP字节流
IP数据包
802.11 Wi-Fi帧
无线电波
电脑Wi-Fi网卡
MobaXterm写入本地磁盘
7.1 应用层
负责:
- 远程登录;
- 执行命令;
- 浏览目录;
- 上传和下载文件。
7.2 传输层:TCP
TCP 提供:
- 面向连接的字节流;
- 按序交付;
- 丢包重传;
- 重复数据处理;
- 流量控制;
- 拥塞控制。
7.3 网络层:IP
在终端热点直连场景中:
text
电脑:192.168.4.2/24
终端:192.168.4.1/24
电脑通常根据路由表选择本地直连接口,再通过邻居解析找到终端的链路层地址。
此过程不需要:
- 默认路由;
- NAT;
- 因特网;
- 运营商网络。
7.4 数据链路层:Wi‑Fi
Wi‑Fi 负责:
- 无线关联;
- 802.11 帧传输;
- MAC 地址和介质访问;
- 链路层确认与重传;
- WPA2/WPA3 等无线链路保护。
Wi‑Fi 链路层重传解决的是局部无线链路错误;TCP 重传解决的是端到端数据可靠交付。两者工作层次不同。
7.5 物理层
数据最终通过无线电波传输。
常见 Wi‑Fi 频段包括:
text
2.4 GHz
5 GHz
6 GHz
GNSS 嵌入式终端最常见的是 2.4 GHz,是否支持 5 GHz 或 6 GHz 取决于具体硬件和法规配置。
8. 是否需要额外路由器
8.1 终端工作在 AP 模式
电脑直接连接终端热点时,本地 SSH 只需要:
text
无线链路正常
IP配置正确
二层通信未被隔离
SSH服务正常
认证信息正确
不需要额外路由器。
终端也不需要执行三层路由或 NAT,因为电脑访问的是终端自身的 IP 地址。
8.2 终端工作在 STA 模式
终端和电脑连接外部路由器或 AP 时,只要:
- IP 路由可达;
- 无客户端隔离;
- 防火墙允许;
- SSH 服务监听相应接口;
电脑就可以通过终端的局域网 IP 登录。
9. 为什么本地 Wi‑Fi 传文件不消耗付费流量
"流量"在日常语言中容易混淆,至少有两种含义。
9.1 网络传输的数据量
例如下载一个 100 MB 文件,电脑和终端之间确实传输了大约 100 MB 以上的数据。
无线链路上的实际数据量可近似表示为:
S W i F i = S f i l e + S p r o t o c o l + S r e t r a n s S_{\mathrm{WiFi}} =S_{\mathrm{file}} +S_{\mathrm{protocol}} +S_{\mathrm{retrans}} SWiFi=Sfile+Sprotocol+Sretrans
其中:
- S W i F i S_{\mathrm{WiFi}} SWiFi:Wi‑Fi 链路实际传输的数据总量;
- S f i l e S_{\mathrm{file}} Sfile:文件本身大小;
- S p r o t o c o l S_{\mathrm{protocol}} Sprotocol:SSH、SFTP、TCP、IP 和 Wi‑Fi 等协议产生的额外数据;
- S r e t r a n s S_{\mathrm{retrans}} Sretrans:因无线干扰或丢包产生的重传数据量。
所以,从技术角度说,Wi‑Fi 上存在"数据流量"。
9.2 运营商计费流量
手机套餐或 SIM 卡中的"流量",通常指:
数据经过运营商 4G/5G 基站和核心网时产生的蜂窝网络计费数据量。
本地文件下载的数据路径是:
text
GNSS终端
→ 本地Wi-Fi
→ 电脑
而不是:
text
GNSS终端
→ 4G/5G基站
→ 运营商网络
→ 因特网
→ 电脑
因此,正常的本地 Wi‑Fi 下载:
text
不经过运营商基站
不使用终端SIM卡
不使用电脑手机套餐
不消耗4G/5G计费流量
可以类比为:
用 U 盘复制文件会产生数据传输,但不会消耗手机套餐流量。
本地 Wi‑Fi 只是把"有线复制"换成了"无线复制"。
9.3 Wi‑Fi 数据从哪里来
下载文件时,数据内容来自:
- 终端存储器;
- GNSS 板卡输出;
- 定位算法结果;
- 日志程序;
- 终端上的其他应用程序。
Wi‑Fi 模块只负责把这些数据转换成无线信号并发送。
它消耗的是:
- 终端电能;
- 无线信道资源;
- CPU 和存储器资源;
而不是自动消耗运营商流量套餐。
10. 哪些情况下才可能产生付费流量
电脑通过终端热点下载终端本地文件时,不需要 4G 卡。
只有数据真正经过收费的外部网络时,才可能产生付费流量。
10.1 不产生蜂窝计费流量的情况
text
电脑连接终端热点
→ SSH登录终端
→ 下载终端存储器中的文件
这个过程只需要:
- 终端 Wi‑Fi 模块;
- 电脑 Wi‑Fi 网卡;
- 本地 IP 地址;
- SSH/SFTP 服务。
不需要:
- 4G/5G 模块;
- SIM 卡或 eSIM;
- 运营商套餐;
- 因特网连接。
10.2 可能产生蜂窝计费流量的情况
如果终端还通过 4G/5G 连接外部网络,例如:
- 上传文件到云服务器;
- 连接远程 NTRIP Caster;
- 接收互联网改正数;
- 向中心服务器回传观测数据;
- 通过 4G/5G 给电脑共享互联网;
- 远程人员通过蜂窝网络维护终端;
这些数据经过运营商网络,通常会消耗 SIM 卡套餐。
#mermaid-svg-mSX9dwtu64ixMPxX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-mSX9dwtu64ixMPxX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-mSX9dwtu64ixMPxX .error-icon{fill:#552222;}#mermaid-svg-mSX9dwtu64ixMPxX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-mSX9dwtu64ixMPxX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-mSX9dwtu64ixMPxX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-mSX9dwtu64ixMPxX .marker.cross{stroke:#333333;}#mermaid-svg-mSX9dwtu64ixMPxX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-mSX9dwtu64ixMPxX p{margin:0;}#mermaid-svg-mSX9dwtu64ixMPxX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-mSX9dwtu64ixMPxX .cluster-label text{fill:#333;}#mermaid-svg-mSX9dwtu64ixMPxX .cluster-label span{color:#333;}#mermaid-svg-mSX9dwtu64ixMPxX .cluster-label span p{background-color:transparent;}#mermaid-svg-mSX9dwtu64ixMPxX .label text,#mermaid-svg-mSX9dwtu64ixMPxX span{fill:#333;color:#333;}#mermaid-svg-mSX9dwtu64ixMPxX .node rect,#mermaid-svg-mSX9dwtu64ixMPxX .node circle,#mermaid-svg-mSX9dwtu64ixMPxX .node ellipse,#mermaid-svg-mSX9dwtu64ixMPxX .node polygon,#mermaid-svg-mSX9dwtu64ixMPxX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-mSX9dwtu64ixMPxX .rough-node .label text,#mermaid-svg-mSX9dwtu64ixMPxX .node .label text,#mermaid-svg-mSX9dwtu64ixMPxX .image-shape .label,#mermaid-svg-mSX9dwtu64ixMPxX .icon-shape .label{text-anchor:middle;}#mermaid-svg-mSX9dwtu64ixMPxX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-mSX9dwtu64ixMPxX .rough-node .label,#mermaid-svg-mSX9dwtu64ixMPxX .node .label,#mermaid-svg-mSX9dwtu64ixMPxX .image-shape .label,#mermaid-svg-mSX9dwtu64ixMPxX .icon-shape .label{text-align:center;}#mermaid-svg-mSX9dwtu64ixMPxX .node.clickable{cursor:pointer;}#mermaid-svg-mSX9dwtu64ixMPxX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-mSX9dwtu64ixMPxX .arrowheadPath{fill:#333333;}#mermaid-svg-mSX9dwtu64ixMPxX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-mSX9dwtu64ixMPxX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-mSX9dwtu64ixMPxX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mSX9dwtu64ixMPxX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-mSX9dwtu64ixMPxX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mSX9dwtu64ixMPxX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-mSX9dwtu64ixMPxX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-mSX9dwtu64ixMPxX .cluster text{fill:#333;}#mermaid-svg-mSX9dwtu64ixMPxX .cluster span{color:#333;}#mermaid-svg-mSX9dwtu64ixMPxX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-mSX9dwtu64ixMPxX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-mSX9dwtu64ixMPxX rect.text{fill:none;stroke-width:0;}#mermaid-svg-mSX9dwtu64ixMPxX .icon-shape,#mermaid-svg-mSX9dwtu64ixMPxX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mSX9dwtu64ixMPxX .icon-shape p,#mermaid-svg-mSX9dwtu64ixMPxX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-mSX9dwtu64ixMPxX .icon-shape .label rect,#mermaid-svg-mSX9dwtu64ixMPxX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mSX9dwtu64ixMPxX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-mSX9dwtu64ixMPxX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-mSX9dwtu64ixMPxX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 不经过运营商
本地文件下载
终端↔电脑
不消耗蜂窝套餐
远程上传或联网
终端→4G/5G
运营商基站
运营商核心网
远端服务器
通常消耗套餐流量
10.3 特殊情况:同一个热点中可能同时存在两类数据
如果终端把 4G/5G 网络共享给电脑,那么:
- 电脑访问网页、下载互联网文件会使用终端 SIM 卡流量;
- 电脑从终端本地存储器下载文件,仍然是本地传输;
- 两类数据都经过终端 Wi‑Fi 热点,但最终路径不同。
判断是否消耗蜂窝流量的关键不是:
text
是否使用Wi-Fi
而是:
text
数据是否离开本地局域网,并经过4G/5G运营商网络
11. 什么时候才需要 4G/5G
当终端需要连接远端网络时,才可能使用蜂窝通信,例如:
- 上传文件到云服务器;
- 连接远程 NTRIP Caster;
- 接收互联网改正数;
- 向中心服务器回传观测数据;
- 远程监控设备;
- 异地维护终端。
#mermaid-svg-K5WdH79pYKHugvnp{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-K5WdH79pYKHugvnp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-K5WdH79pYKHugvnp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-K5WdH79pYKHugvnp .error-icon{fill:#552222;}#mermaid-svg-K5WdH79pYKHugvnp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-K5WdH79pYKHugvnp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-K5WdH79pYKHugvnp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-K5WdH79pYKHugvnp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-K5WdH79pYKHugvnp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-K5WdH79pYKHugvnp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-K5WdH79pYKHugvnp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-K5WdH79pYKHugvnp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-K5WdH79pYKHugvnp .marker.cross{stroke:#333333;}#mermaid-svg-K5WdH79pYKHugvnp svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-K5WdH79pYKHugvnp p{margin:0;}#mermaid-svg-K5WdH79pYKHugvnp .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-K5WdH79pYKHugvnp .cluster-label text{fill:#333;}#mermaid-svg-K5WdH79pYKHugvnp .cluster-label span{color:#333;}#mermaid-svg-K5WdH79pYKHugvnp .cluster-label span p{background-color:transparent;}#mermaid-svg-K5WdH79pYKHugvnp .label text,#mermaid-svg-K5WdH79pYKHugvnp span{fill:#333;color:#333;}#mermaid-svg-K5WdH79pYKHugvnp .node rect,#mermaid-svg-K5WdH79pYKHugvnp .node circle,#mermaid-svg-K5WdH79pYKHugvnp .node ellipse,#mermaid-svg-K5WdH79pYKHugvnp .node polygon,#mermaid-svg-K5WdH79pYKHugvnp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-K5WdH79pYKHugvnp .rough-node .label text,#mermaid-svg-K5WdH79pYKHugvnp .node .label text,#mermaid-svg-K5WdH79pYKHugvnp .image-shape .label,#mermaid-svg-K5WdH79pYKHugvnp .icon-shape .label{text-anchor:middle;}#mermaid-svg-K5WdH79pYKHugvnp .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-K5WdH79pYKHugvnp .rough-node .label,#mermaid-svg-K5WdH79pYKHugvnp .node .label,#mermaid-svg-K5WdH79pYKHugvnp .image-shape .label,#mermaid-svg-K5WdH79pYKHugvnp .icon-shape .label{text-align:center;}#mermaid-svg-K5WdH79pYKHugvnp .node.clickable{cursor:pointer;}#mermaid-svg-K5WdH79pYKHugvnp .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-K5WdH79pYKHugvnp .arrowheadPath{fill:#333333;}#mermaid-svg-K5WdH79pYKHugvnp .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-K5WdH79pYKHugvnp .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-K5WdH79pYKHugvnp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-K5WdH79pYKHugvnp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-K5WdH79pYKHugvnp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-K5WdH79pYKHugvnp .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-K5WdH79pYKHugvnp .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-K5WdH79pYKHugvnp .cluster text{fill:#333;}#mermaid-svg-K5WdH79pYKHugvnp .cluster span{color:#333;}#mermaid-svg-K5WdH79pYKHugvnp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-K5WdH79pYKHugvnp .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-K5WdH79pYKHugvnp rect.text{fill:none;stroke-width:0;}#mermaid-svg-K5WdH79pYKHugvnp .icon-shape,#mermaid-svg-K5WdH79pYKHugvnp .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-K5WdH79pYKHugvnp .icon-shape p,#mermaid-svg-K5WdH79pYKHugvnp .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-K5WdH79pYKHugvnp .icon-shape .label rect,#mermaid-svg-K5WdH79pYKHugvnp .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-K5WdH79pYKHugvnp .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-K5WdH79pYKHugvnp .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-K5WdH79pYKHugvnp :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} GNSS终端
4G/5G模块
运营商基站
运营商核心网
因特网或专网
远端服务器
通常还需要:
- 4G/5G 模块;
- SIM 卡或 eSIM;
- 可用的数据业务;
- 蜂窝网络覆盖;
- 正确的 APN 和路由配置。
移动网络常位于 NAT 或 CGNAT 后,外部电脑通常不能直接主动 SSH 到终端。
远程维护常采用:
- VPN;
- 终端主动建立反向连接;
- 专用 APN;
- 公网地址;
- 云端设备管理平台。
12. Wi‑Fi 与 4G/5G 的区别
| 对比项 | Wi‑Fi | 4G/5G |
|---|---|---|
| 连接对象 | 附近电脑、AP 或路由器 | 运营商基站 |
| 典型覆盖范围 | 局部区域 | 更大地理范围 |
| 是否需要 SIM/eSIM | 不需要 | 通常需要 |
| 是否消耗蜂窝套餐 | 本地传输不消耗 | 通常消耗 |
| 典型用途 | 本地配置、文件下载 | 远程联网、数据回传 |
| 主要依赖 | 距离、频段和无线环境 | 基站覆盖、APN 和数据业务 |
| 是否必然接入因特网 | 否 | 也不必然,可接运营商专网 |
终端可以:
- 只有 Wi‑Fi;
- 只有 4G/5G;
- 同时具有两者;
- 让不同接口承担不同任务。
13. 下载速度由什么决定
文件有效下载速率为:
$$
R_{\mathrm{file}}
\frac{S_{\mathrm{file}}}{T_{\mathrm{download}}}
$$
其中:
- R f i l e R_{\mathrm{file}} Rfile:文件有效下载速率;
- S f i l e S_{\mathrm{file}} Sfile:文件大小;
- T d o w n l o a d T_{\mathrm{download}} Tdownload:下载完成所需时间。
实际速率通常受最慢环节限制,可近似写为:
R f i l e ≤ min ( R W i F i , R s t o r a g e , R p r o c e s s i n g , R t r a n s p o r t , R d i s k ) R_{\mathrm{file}} \le \min \left( R_{\mathrm{WiFi}}, R_{\mathrm{storage}}, R_{\mathrm{processing}}, R_{\mathrm{transport}}, R_{\mathrm{disk}} \right) Rfile≤min(RWiFi,Rstorage,Rprocessing,Rtransport,Rdisk)
其中:
- R W i F i R_{\mathrm{WiFi}} RWiFi:Wi‑Fi 链路有效速率;
- R s t o r a g e R_{\mathrm{storage}} Rstorage:终端存储器读取速率;
- R p r o c e s s i n g R_{\mathrm{processing}} Rprocessing:终端和电脑处理 SSH 加解密的速率;
- R t r a n s p o r t R_{\mathrm{transport}} Rtransport:TCP 在当前网络条件下的有效吞吐率;
- R d i s k R_{\mathrm{disk}} Rdisk:电脑本地磁盘写入速率;
- min ( ⋅ ) \min(\cdot) min(⋅):取所有环节中的最小值。
无线干扰、信号强度、协议开销和重传都会降低实际下载速度。
14. 常见故障排查
| 现象 | 优先检查 |
|---|---|
| Wi‑Fi 无法连接 | SSID、密码、信号、频段兼容性、终端热点是否启动 |
| Wi‑Fi 已连接,终端 IP 不通 | 电脑 IP、前缀长度、终端 IP、客户端隔离、防火墙 |
| TCP 22 端口失败 | SSH 服务是否启动、端口是否修改、服务监听地址、防火墙 |
| TCP 端口正常但登录失败 | 用户名、密码、私钥、账号权限和 SSH 配置 |
| SSH 能登录但无文件浏览器 | SFTP 子系统、MobaXterm 设置、目录权限 |
| 可以浏览但不能下载 | 文件权限、目录权限、本地磁盘空间、保存路径 |
| 下载经常中断 | Wi‑Fi 信号、干扰、终端重启、电脑休眠、存储异常 |
| 连接终端 Wi‑Fi 后不能上网 | 终端无外网、未配置路由/NAT、电脑默认路由变化 |
14.1 持续写入的 GNSS 文件
GNSS 数据文件可能仍在持续追加。
直接下载时,可能出现:
- 下载过程中远端文件继续变大;
- 本地文件只是某一时刻的快照;
- 文件尾部记录不完整;
- 文件头中的统计量尚未最终更新。
更稳妥的方式是:
text
停止记录并关闭文件
或
在终端上复制出一个稳定快照
再下载
15. 安全建议
- 修改默认 Wi‑Fi 和 SSH 密码;
- 优先使用 WPA2 或 WPA3;
- 通过可信渠道核对 SSH 主机指纹;
- 优先使用 SSH 密钥认证;
- 限制 root 远程登录;
- 不把 SSH 直接暴露到不可信公网;
- 定期更新终端系统和 SSH 软件;
- 维护结束后关闭不必要的热点;
- 远程维护优先使用 VPN 或受控管理平台。
16. 核心总结
16.1 终端热点是什么
text
终端开启Wi-Fi热点
→ 在周围建立一个本地无线局域网
→ 相当于电脑和终端之间接了一根无线网线
16.2 MobaXterm 为什么能下载文件
text
MobaXterm连接终端IP和SSH端口
→ SSH完成登录与加密
→ SFTP/SCP请求读取文件
→ 终端从存储器读取数据
→ 通过本地Wi-Fi发送给电脑
16.3 为什么不需要付费流量
text
文件路径:
终端存储器
→ 本地Wi-Fi
→ 电脑磁盘
这条路径不经过:
text
运营商基站
4G/5G核心网
因特网
因此,不消耗 SIM 卡或手机套餐中的蜂窝数据流量。
16.4 什么时候才会产生付费流量
text
数据通过4G/5G上传到远程服务器
电脑通过终端共享的4G/5G访问互联网
终端通过蜂窝网络接收远程数据
这些情况才通常会消耗运营商套餐。
最关键的一句话是:
Wi‑Fi 只是一种本地无线传输方式;是否收费,取决于数据是否经过运营商的收费网络,而不是取决于是否使用 Wi‑Fi。