news 2026/7/18 5:01:31

计算机网络 | 网络诊断双刃剑:Tracert路由追踪实战与Windows防火墙端口配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机网络 | 网络诊断双刃剑:Tracert路由追踪实战与Windows防火墙端口配置指南

我们先深入路由追踪的实战读图技巧,再手把手教你Windows 防火墙手动开端口。

这两者其实是“找堵点”和“拆路障”的关系:路由追踪帮你定位网络在哪一层卡住了,防火墙则是那个可能被你本地“误杀”的路障。

第一部分:路由追踪(Tracert / Traceroute)—— 读图诊断

当你访问一个网站很慢,但ping只是显示“超时”时,路由追踪能告诉你到底是在家门口堵了,还是跨省高速上堵了

1. 命令怎么敲?
  • Windows (CMD)tracert -d www.baidu.com

    • -d强烈建议加上。它禁止将 IP 解析为域名,速度会快 10 倍,且输出更清爽。

  • Linux/macOS (Bash)traceroute -n www.baidu.com

    • -n:同样禁止域名解析。

2. 输出解读(核心实战)

假设输出如下(模拟数据):

1 <1 ms <1 ms <1 ms 192.168.1.1 2 5 ms 4 ms 5 ms 100.64.0.1 3 * * * 请求超时。 4 12 ms 11 ms 13 ms 172.16.1.22 5 * * * 请求超时。 6 35 ms 34 ms 36 ms 110.242.68.66 [目标到达]

看这 6 行,我们该怎么分析?

  • 第 1 跳(<1ms:这是你的家用路由器/网关。延迟极低是正常的。如果这一跳都超时或几百毫秒,说明你家的网线松了或路由器快挂了。

  • 第 2 跳(5ms:这是运营商接入层(光猫或小区交换机)。延迟从 1ms 跳到 5ms,这是光电转换的正常损耗。

  • 第 3 跳(全是*星号)这里敲黑板!很多新手看到星号就以为断网了。错!这只是代表这一跳的路由器设置了“不回应 ICMP 超时消息”(出于安全考虑)。数据包其实已经过去了,看第 4 跳还在继续,说明路由是通的,不用管它。

  • 第 4 跳(12ms:进入运营商城域网骨干。延迟 12ms 很不错。

  • 第 5 跳(又是*:同上,被防火墙屏蔽,忽略。

  • 第 6 跳(35ms:到达百度服务器。35ms 对于跨省访问是极好的质量

🚨 真正的故障标志(重点关注)
如果从第 3 跳开始,后面的所有跳数全部显示*且超时,这才说明路由在第 2 跳和第 3 跳之间断了(丢包黑洞)。此时直接联系宽带运营商报修即可。

补充利器(进阶)
如果你觉得tracert每次只测一次不够准确,请在 Windows 上下载WinMTR(开源小工具)。它将pingtracert结合,会持续向每一跳发包并计算实时丢包率,能帮你精准判断是“瞬间波动”还是“持续性断流”。


第二部分:Windows 防火墙手动开放端口(图文实操)

假设你写了一个 Python Web 服务跑在127.0.0.1:8000,局域网同事访问不了。别急,大概率是 Windows 防火墙拦住了入站请求。下面教你图形界面命令行两种开门方式。

☑ 方案 A:图形界面(最直观,适合新手)

❶ 打开高级防火墙:按Win + R,输入wf.msc并回车。(注意:不是firewall.cpl,那个太简单了,调不出端口规则)。

❷ 新建入站规则:点击左侧“入站规则”,再点右侧“新建规则...”。

❸ 选择端口:选中“端口”,点击“下一步”。

❹ 填写端口

  • 协议选TCP(大多数服务)。
  • 特定本地端口填8000(如果你要开 RDP 远程桌面,就填3389)。
  • 点击“下一步”。

❺ 允许连接:默认选中“允许连接”,点“下一步”。

❻ 选择配置文件(⚠️ 最大陷阱)

  • :公司域环境才用。

  • 专用:家庭或工作网络(建议勾选)。

  • 公用:餐厅、星巴克等公共 WiFi(极度危险,建议不要勾选,除非你清楚风险)。

  • 如果你当前网络状态是“公用网络”但只勾选了“专用”,规则不会生效!请确认你右下角网络图标对应的配置文件。

❼ 取名:随意输入名称如My_Web_8000,点击“完成”。

☑ 方案 B:命令行(CMD / PowerShell 极速版)

如果你喜欢敲命令,以下两条任选其一,管理员权限运行

  • CMD(netsh 传统写法)

netsh advfirewall firewall add rule name="Open_Port_8000" dir=in action=allow protocol=TCP localport=8000
  • PowerShell(新式面向对象写法,推荐)
New-NetFirewallRule -DisplayName "Open_Port_8000" -Direction Inbound -LocalPort 8000 -Protocol TCP -Action Allow
✔ 删除规则(清理门户)

如果测试完毕要关掉这个口子:

  • 图形:在wf.msc的入站规则列表里,找到你取的名字,右键“禁用”或“删除”。

  • CMDnetsh advfirewall firewall delete rule name="Open_Port_8000"

  • PSRemove-NetFirewallRule -DisplayName "Open_Port_8000"


💡 给你一个“验证闭环”的流程

当你开完端口后,如何确认真的生效了?不用找同事,自己在 CMD 里测:

  1. 先把刚才开的端口规则启用。

  2. 在 CMD 里执行:netstat -ano | findstr :8000,确认你的服务确实在监听0.0.0.0:8000(而不是127.0.0.1——后者代表只能本机自己访问)。

  3. 另一台电脑上,浏览器输入http://你的电脑IP:8000,能打开即成功。


附:深入 Wireshark 抓包看 TCP 握手细节

我们接着从路由追踪和防火墙,深入到更底层的Wireshark 抓包分析。这将是把之前所有的理论知识,变成肉眼可见的“电信号”的过程。

Wireshark 就像网络世界的“显微镜”和“心电图机”,能让你亲眼看到 TCP 三次握手的每一个数据包。 ☛ | 下载Wireshark:Wireshark • Go Deep

下面我会手把手带你操作一遍,并教你如何解读抓到的包。

☀ 准备工作:开始抓包

  1. 下载与安装:从 Wireshark 官网下载并安装。

  2. 选择网卡:打开软件后,会看到一张网卡列表。选择你正在上网的那块网卡(如“WLAN”或“以太网”),然后点击左上角的蓝色鲨鱼鳍图标开始抓包。

  3. 触发流量:打开浏览器,访问一个网站(如www.baidu.com)。为了只分析握手过程,访问一次就够了。

  4. 停止抓包:等网页加载完,点击红色方块按钮停止抓包。


☀ 核心技能:使用过滤器

抓到的包可能成千上万,我们需要用过滤器把目光聚焦在 TCP 三次握手上。

Wireshark 的过滤器分两种:

  • 捕获过滤器:抓包之前设置,只抓符合条件的包,比较“粗糙”。

  • 显示过滤器:抓包之后设置,从已抓到的包中筛选显示,非常“精细”。我们主要用这种。

在软件顶部的“显示过滤器”输入框,输入下面任一过滤条件:

  • 过滤出完整的TCP握手会话(强烈推荐)

    tcp.completeness == 7

    原理:完整的 TCP 三次握手由SYN(值1) +SYN-ACK(值2) +ACK(值4) 组成,总和为 7。这个过滤器能直接帮你找出所有完整的握手过程。

  • 只显示握手相关的包

    tcp.flags.syn == 1

    输入后回车,列表里应该就只剩下几个包了。


☀ 实战分析:解码三次握手

现在,让我们在过滤后的列表里,按顺序分析这三个核心数据包。

1. 第一次握手:客户端 → 服务器 (SYN)

这是客户端(你的电脑)发出的“请求建立连接”的信号。

  • 怎么看:在列表里,找到Info列显示为SYN的包,点击它。

  • 关键信息:在下方详细栏展开Transmission Control Protocol,你会看到:

    • Source Port (源端口):一个随机的高位端口号(如 49152),是你的电脑用来通信的“出口”。

    • Destination Port (目标端口)80(HTTP) 或443(HTTPS),是服务器上提供服务的“入口”。

    • Flags (标志位)SYN标志位被置为 1,其他为 0。

    • Sequence Number (序列号, seq):一个初始值,图中常显示为0。这是客户端发送数据的“起始编号”。

通俗理解:你(客户端)对百度服务器喊了一声:“喂(SYN),我要建立连接,这是我的初始编号 0。”

2. 第二次握手:服务器 → 客户端 (SYN-ACK)

这是服务器回复的“确认并同意建立连接”的信号。

  • 怎么看:找到Info列显示为SYN, ACK的包。

  • 关键信息:展开后你会看到:

    • FlagsSYNACK两个标志位都被置 1

    • Acknowledgment Number (确认号, ack):值为1。这个数字 = 客户端的初始序列号(0) + 1,意思是“我已收到你的 SYN 包,下一个包我期望的编号是 1”。

    • Sequence Number (seq):服务器自己的初始序列号,图中也常显示为0

通俗理解:百度服务器听到了你的喊话,并回复:“收到(ACK)!我同意连接(SYN),这是我的初始编号 0,下次请发编号 1 的包给我。”

3. 第三次握手:客户端 → 服务器 (ACK)

这是客户端向服务器发出的最终“确认收到你的确认”的信号。

  • 怎么看:找到Info列显示为ACK的包。

  • 关键信息

    • Flags只有ACK标志位被置 1SYN为 0。

    • Sequence Number (seq):值为1。因为服务器期望的下一个序列号是 1,所以客户端这次发送的包序号就是 1。

    • Acknowledgment Number (ack):值为1。= 服务器的初始序列号(0) + 1,表示收到服务器的 SYN 包。

通俗理解:你最后回复百度:“收到你的确认(ACK)!” 到此,连接正式建立。

完成三次握手后,双方状态变为ESTABLISHED。紧接着,你就会看到第四个包,通常是真正的应用数据,比如HTTP请求。

☞ 相关参考:TCP硬核剖析 | 近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题

☞ 相关参考:


☀ 进阶分析:异常情况速查

掌握正常流程后,也要能识别异常:

  • [TCP Retransmission]重传。表示一个包没收到确认,被重新发送了。少量的重传正常,大量出现则说明网络有丢包或延迟。

  • [TCP Dup ACK]重复确认。接收方反复确认同一个序列号,通常意味着有包丢失,触发了快速重传。

  • [TCP RST]重置。连接被突然终止。可能因为端口未开放、服务崩溃或防火墙拦截。

掌握了 Wireshark,你就拥有了网络排障的“终极武器”。它把抽象的网络协议变成了可见的数据包,让问题无处遁形。


☀ 相关参考资料:

cmd 与 bash 基础命令入门 | DOS命令大全及用法?一文读懂从入门到实战的终极指南

计算机网络 | 网络端口连通性检测与本地端口占用进程排查指南

实战 | 我用“大白鲨”让你看见 TCP_大白鲨抓包-CSDN博客

TCP硬核剖析 | 近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题-CSDN博客

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 5:01:02

Janus-Pro多模态模型本地部署与优化指南

1. Janus-Pro多模态模型概述Janus-Pro是DeepSeek最新开源的多模态模型&#xff0c;采用了一种创新的自回归框架设计&#xff0c;统一了视觉理解和生成能力。这个7B参数的模型通过独特的架构设计&#xff0c;在单一模型中实现了过去需要多个专用模型才能完成的任务。模型的核心创…

作者头像 李华
网站建设 2026/7/18 5:00:59

Python agent-actors 包详解:功能、安装、语法与实战案例

1. 引言在 Python 异步编程与分布式系统开发中&#xff0c;actor 模型是一种经典的并发计算模型。agent-actors 是一个轻量级的 Python 库&#xff0c;它基于 actor 模型提供了简洁的异步代理&#xff08;agent&#xff09;实现&#xff0c;帮助开发者构建高并发、可扩展的应用…

作者头像 李华
网站建设 2026/7/18 5:00:39

Codex本地编程助手:VS Code插件与CLI离线开发实战指南

1. 先破个题&#xff1a;Codex 不是 OpenAI 的“ Codex”&#xff0c;而是开发者社区里悄然崛起的本地化智能编程助手很多人点开这篇标题&#xff0c;第一反应是&#xff1a;“等等&#xff0c;Codex&#xff1f;不是 OpenAI 那个 2022 年就停更的代码模型吗&#xff1f;”——…

作者头像 李华
网站建设 2026/7/18 5:00:36

C++引用深度解析:从悬空引用到现代编程实践

1. 项目概述&#xff1a;为什么C引用总让人又爱又恨&#xff1f;作为一名写了十几年C的老码农&#xff0c;我至今还记得第一次被“引用”这个概念绕晕的场景。那会儿刚学完指针&#xff0c;觉得已经掌握了内存操作的“屠龙术”&#xff0c;结果导师扔过来一段代码&#xff0c;里…

作者头像 李华
网站建设 2026/7/18 5:00:16

从哈密尔顿路径到欧拉路径:C++高效解决“重建行程”算法题

1. 项目概述与核心问题拆解最近在刷算法题时&#xff0c;遇到了一个非常经典的图论问题——“重建行程”。题目乍一看像是简单的路径查找&#xff0c;但深入分析后&#xff0c;你会发现它本质上是一个寻找“哈密尔顿路径”的变种&#xff0c;并且对访问顺序有字典序的额外要求。…

作者头像 李华
网站建设 2026/7/18 4:59:44

C盘空间优化:系统清理工具与高阶技巧全解析

1. 为什么C盘总是爆满&#xff1f;先搞清问题根源每次打开"此电脑"看到C盘飘红&#xff0c;那种窒息感简直比看到信用卡账单还刺激。但盲目清理往往治标不治本&#xff0c;我们先得搞清楚哪些"空间刺客"在暗中作祟。系统更新残留是最常见的元凶。Windows每…

作者头像 李华