ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Windows后台流量排查与防火墙拦截指南

Windows后台流量排查与防火墙拦截指南 电脑后台偷偷跑流量这件事几乎每个用过 Windows 的人都会遇到。明明没开网页通知栏网络图标却显示几百 KB/s 的上传下载速度再盯着任务管理器看网络曲线起起伏伏你又不知道该去收拾谁。这篇文章我按实际排查的顺序来写先告诉你说后台流量大概率是哪来的再教你用 Windows 自带的功能锁定“谁在联网”最后用一个很典型的例子——给 geekuninstaller.exe 单独建一条防火墙出站规则不改动任何程序文件就能让它彻底“闭嘴”。适合普通用户、电脑维护新手也适合想把自己工作站网络权限收得更紧的开发者。1. 先别急着“抓贼”后台流量到底一般是谁在跑很多人一看到后台有网络活动就觉得电脑被“偷”了其实绝大部分情况不是病毒也不是木马而是那些正经软件在干你不一定知道的事。我在排查这类问题的时候第一步永远是先判断“这些流量是什么性质”而不是直接动手关进程、卸软件。后台流量的常见来源大致可以分成这么几类自动更新类Windows Update、显卡驱动更新、Steam 或 Epic 的预下载、Office 更新。这类流量通常是脉冲式的不连续但是一旦跑起来能占满带宽。云盘同步类OneDrive、百度网盘、坚果云。这类是典型的“明明没开界面却在后台悄悄上传下载”的选手尤其是 OneDrive 只要登录就会常驻。在线服务和遥测类系统遥测组件、浏览器崩溃报告、第三方软件的使用数据统计。流量不大但看起来“很神秘”。P2P 下载加速Steam 的局域网传输、Windows 的“传递优化”很多系统默认还开着、某些下载工具的 P2P 共享。这类流量不仅占带宽还会持续上传。真·恶意软件这类反而最少见但一旦出现往往就是异常疯狂、持续不断的流量。如果一上来就乱关很可能把系统更新或云盘同步搞出问题。我自己的排查原则是先定位再判断最后处置。也就是说先看是谁在联网结合程序名称和流量特点判断能不能断网最后才用防火墙或卸载来处理。这套流程用熟了处理一个未知后台流量基本不会超过十分钟。2. 用系统自带工具锁定“到底是哪个进程在联网”排查后台流量的第一步不需要急着装第三方工具。Windows 自带的任务管理器、资源监视器和命令行工具已经能把绝大多数“谁在联网”的问题解决掉。2.1 任务管理器最快捷的瞬时快照按下 Ctrl Shift Esc 打开任务管理器切到“进程”选项卡。在列标题上点击右键把“网络”这一项调出来甚至可以把“磁盘”也显示出来方便对比。点击列头的“网络”排序当前正在传大流量的进程会直接跳到最上面。但这里有个很容易踩的坑任务管理器只能看到“当前正在跑”的网络活动。如果那个程序只是每隔半小时连一次服务器或者上一次请求已经结束你打开任务管理器的时候大概率看到一片平静。所以任务管理器适合用来做瞬时确认不适合用来做长期排查。2.2 资源监视器看 TCP 连接和历史流量的利器想看得更细一点用资源监视器。按下 Win R 输入resmon或者从任务管理器左下角的“打开资源监视器”进入。在“网络”选项卡里可以看到进程网络活动显示每个进程当前每秒的发送/接收速度以及最近 60 秒的总字节数。TCP 连接能看到这个进程连了哪些远程 IP以及对应的端口。网络活动图形顶部的图表能直观看到整体网络波动。这里有一个非常实用的小技巧把资源监视器打开后先放着等 30 到 60 秒。哪个进程的“发送字节数”或“接收字节数”在不断往上跳那个就是正在偷跑流量的家伙。尤其是那些你以为已经退出的程序如果还在持续接收立刻就能现原形。资源监视器里还有一个“进程”列表和“服务”列表可以勾选勾选某个进程下面会自动过滤出它对应的 TCP 连接。如果看到svchost.exe在大量联网别急着紧张——svchost.exe是 Windows 服务宿主得进一步看它具体承载了哪个服务。方法也很简单在资源监视器里选中svchost.exe下方会显示出它的服务列表比如wuauserv就是 Windows UpdateDnscache就是 DNS 缓存。这样做比直接结束svchost.exe安全得多结束错了系统容易崩。2.3 netstat 命令行拿到最全的联网清单如果觉得图形界面还不够直接那就上命令行。打开 CMD 或 PowerShell管理员权限运行netstat -ano这里的参数说明一下-a显示所有连接和监听端口。-n直接用 IP 和端口显示不做域名反解速度更快。-o显示进程的 PID方便后续对应到具体程序。如果想知道某个端口对应哪个程序可以加-b参数netstat -abno-b会额外显示进程的可执行文件名比如[geekuninstaller.exe]。但是这个命令执行比较慢而且需要管理员权限。我更常用的方式是先用netstat -ano拿到 PID再到任务管理器“详细信息”标签里右键对应的 PID选择“打开文件所在位置”或者“转到服务”先确认这个进程是什么。还有一个小技巧用下面的命令快速过滤某个端口或 IP 的连接netstat -ano | findstr 443配合tasklist可以直接看到 PID 对应的进程名tasklist /fi pid eq 1234这套组合拳打完基本上没有哪个联网程序能藏住。2.4 数据使用量统计查看过去一个月的流量大户如果事情已经过去了你想看过去一段时间谁用的流量最多可以打开系统自带的流量统计。在 Windows 10 和 Windows 11 里进入“设置 → 网络和 Internet → 数据使用量”选择对应的网络连接类型再点击“查看每个应用的使用情况”系统会列出过去 30 天各应用消耗的流量。注意一下这里有个限制很多系统组件比如服务会统一归到svchost.exe或者直接并到“系统”里面。数据使用量页面适合看一个大方向真要精确定位还是得靠资源监视器或防火墙日志。3. 第三方工具怎么选几年用下来我推荐这样搭配Windows 自带工具能解决大部分排查问题但如果你想长期记录每个程序的流量历史或者给某些程序做精细限速那就得上第三方工具了。我用过的工具不算少简单说下各自的定位方便你按需选择。工具名称定位适合场景需要注意的点TCPView轻型实时连接查看快速查看进程的连接和断开微软官方工具无需安装几乎零占用GlassWire图形化流量历史 预警长期统计各应用流量免费版功能有限装时注意不勾选全家桶NetLimiter精确限速 限流想让某个软件限速或禁网驱动层工具和部分杀软可能有冲突Wireshark抓包分析想看具体数据包内容不适合普通用户日常排查如果你只是想知道“谁在联网”我首推 TCPView。它是 Sysinternals 套件里的工具绿色免安装下载解压就能跑。打开后能看到每个进程的所有 TCP/UDP 连接边角还有实时收发速度点击任一进程右键能直接关闭连接、查询进程详情甚至结束进程。它是排查“某个程序突然在联网”的最快第三方工具。GlassWire 的优势是历史记录和预警。你装上它运行一周它能告诉你每天哪个应用都在后台跑了多少流量比 Windows 自带的数据统计更细、更直观。适合想彻底摸清自己电脑网络习惯的人。NetLimiter 更适合进阶用户它能在驱动层面限制某个软件的网速但它会安装内核驱动用的时候要注意和杀软的兼容性可能会蓝屏。我的建议是一般人先别碰 Wireshark它很强但那是抓包分析工具不是“流量监控工具”信息量太大反而会把你绕晕。先系统自带工具再按需选一个第三方记录工具这套组合完全够用了。4. 给软件单独“禁网”以 geekuninstaller.exe 为例不改文件直接用防火墙阻止排查出某个程序老是在后台联网但你又不能卸载它或者你只是不想让它每次启动都去检查更新、上报数据该怎么办很多人第一时间想到改 hosts 文件把程序的更新域名指向127.0.0.1。这个方法对某些网站有效但对软件来说很不可靠一是你很难确定它要连哪些域名二是很多程序更新后域名或 IP 会变三是改 hosts 是全局的可能会误伤其他软件。最干净的办法是用 Windows 自带的“高级安全 Windows 防火墙”给这个程序建一条“出站阻止规则”。这个过程不修改任何程序文件对程序本身完全无损想恢复随时把规则删掉就行。4.1 为什么选 geekuninstaller.exe 来举例geekuninstaller 是一款非常流行的卸载工具常见理由是它体量小、卸载得干净。但它每次启动都会连接官方服务器检查更新很多用户就因此产生疑惑“我明明没操作它怎么又联网了”其实这个请求很正常程序内查询新版本是再常见不过的事。不过如果你有严格的网络洁癖或者公司环境要求终端严格控制外联那就有理由把它“禁网”。geekuninstaller 的卸载功能和网络完全无关即使防火墙把它的出站全部封锁它的卸载能力也不受任何影响非常适合用来演示这个操作。4.2 在 Windows 搜索里找到防火墙高级设置按下键盘上的 Win 键直接在开始菜单搜索框中输入“高级安全 Windows 防火墙”或者输入“防火墙”然后从结果里点开“Windows Defender 防火墙”。如果你用的是 Win10 或 Win11 中文版可能看到两条类似的项一条是“防火墙和网络保护”那是普通设置页另一条“高级安全 Windows 防火墙”才是我们要的东西。打开的窗口里左侧有“入站规则”“出站规则”右侧有一堆操作按钮。记住一个原则程序主动向外请求数据靠出站规则管而外面对电脑发起的连接靠入站规则管。我们要拦的是 geekuninstaller 主动联网所以选“出站规则”。4.3 新建出站阻止规则的完整流程在左侧选中“出站规则”然后点右侧的“新建规则”按照下面的步骤操作规则类型选“程序”然后点击“下一步”。程序路径选择“此程序路径”点击“浏览”找到 geekuninstaller.exe 所在位置。通常是软件安装目录里的geekuninstaller.exe选中后下一步。操作选“阻止连接”然后下一步。配置文件域、专用、公用这三个都勾选避免它在某个网络环境下又跑出去。点击下一步。名称和描述名称写清楚一点比如Block geekuninstaller outbound描述里可以备注“阻止卸载工具检查更新”。名称尽量与你记忆里的目的一致以后好找。创建完成后这条规则默认是启用状态。不需要重启系统也不需要改geekuninstaller.exe任何字节程序本身完全没被改动过。4.4 验证规则是否真的生效规则建好后重新打开 geekuninstaller再配合资源监视器看你会发现它不再产生新的外出连接了。由于这条防火墙规则是内核层的网络过滤程序自己并不知道自己被拦了只会发现“网络超时”或“更新失败”但卸载功能该用还是能用。如果你觉得还不够放心可以打开 TCPView把 geekuninstaller 的进程找出来看看它当前的连接状态。正常情况下你不会再看到它保持各种ESTABLISHED或TIME_WAIT的对外连接。4.5 建了规则但程序还是能联网怎么排查遇到“规则没用”的情况不要急逐项排查程序路径是不是变了很多软件会静默更新更新后 exe 路径可能换了旧规则就失效了。重新打开规则确认“程序”选项卡里的路径是否还指向真实文件。是不是同时有多个子进程有些程序运行时还会拉起另一个update.exe或helper.exe。你只拦了主程序子进程照连不误。同步给子进程加上出站规则即可。配置文件勾选问题如果你当前网络被系统判为“公用网络”但规则只勾了“域”那就会失效。保险起见三个都勾上。杀毒软件冲突有些第三方安全软件会接管防火墙过滤Windows 防火墙的规则可能就不生效。此时要么在安全软件里设置要么临时禁用它的网络防护再试。硬件层网络过滤部分安全软件带“协议栈”过滤会绕过系统防火墙规则这种情况排查起来很费劲。可以先卸载安全软件测一次确认是它的问题再决定怎么处理。这里再提醒一句上面这套办法不要拿去拦系统核心进程。比如给svchost.exe全局加一条阻止出站规则那 Windows Update、DNS、网络服务等一堆东西都会跟着受影响轻则更新异常重则网络整个瘫痪。对系统的服务进程尽量通过服务名去精确匹配而不是一刀切。5. 顺手收拾几个“隐藏流量大户”排查完单个程序之后你会发现电脑里还有几个低调的系统级流量大户。它们不像某个软件那样好找但天天在后台跑积少成多。这里挑几个高频的说下处理思路。5.1 Windows Update 与“传递优化”Windows Update 本身是一个大流量来源尤其是在大版本更新或者驱动推送的时候。很多人不想让它在不合适的时机更新但它并不是“偷跑”只是系统默认策略如此。你可以在“设置 → Windows 更新 → 高级选项 → 传递优化”里把“允许从其他电脑下载”改成“仅本地网络”或者直接关闭“传递优化”的上传带宽限制。我还见过有人给 Windows Update 单独建防火墙规则想彻底禁掉更新。我的建议是除非你真的知道自己在干嘛否则别禁。系统更新涉及安全补丁长期停机容易导致安全问题。实在不想被突然更新可以在更新策略里设置“活动时间”告诉系统什么时候不方便更新比防火墙更优雅。5.2 OneDrive 和云盘同步OneDrive 是很多人忽视的流量大户。尤其当你电脑里文件多加上“按需文件”没开它会在后台不断同步文件。如果你暂时用不到云同步可以右键托盘里的 OneDrive 图标选择“暂停同步”暂停时间可以选 2 小时、8 小时或 24 小时。不只是 OneDrive其他云盘同步工具也一样遇到大流量第一时间暂停同步是有效的应急手段。5.3 后台应用权限Windows 的后台应用权限从 8.1 开始就有但很多人从没注意过。在“设置 → 隐私和安全性 → 后台应用”里你可以看到有哪些应用被允许在后台运行。把不常用的、不需要常驻的程序全部关掉它们连网络活动的机会都没有了。注意这里控制的是微软商店应用和部分内置应用对传统桌面 exe 程序不一定生效所以它只能算一个辅助手段。5.4 浏览器预加载和后台扩展浏览器是后台流量的隐形大户。Chrome 和 Edge 都有“启动加速”功能你关掉浏览器主窗口后后台还留着一部分进程用来实现“再次打开秒开”。这些后台进程会继续维持网络连接继续刷新标签页。如果你对后台流量敏感在浏览器设置里关掉“启动加速”和“关闭浏览器后继续运行后台扩展应用”这两个开关。还有个排查技巧在 Chrome 或 Edge 里按 Shift Esc可以直接打开浏览器的任务管理器能看到每个标签页、扩展和插件的 CPU、内存、网络占用。哪个扩展在后台偷跑一看便知。5.5 系统遥测组件网上很多文章会推荐禁用系统遥测组件比如diagtrack服务来降低隐私泄露风险。我的态度是完全禁用它可能影响系统更新和安全功能的完整性尤其在企业环境里容易引发其他问题。如果你只是不想让它经常联网可以保留服务但观察一下它在后台的网络连接如果流量异常再说。别为了省那几 MB 流量把系统组件搞出问题不划算。6. 排查中常见的 5 个问题与实操技巧6.1 任务管理器里看不到网速但网络确实卡如果你确认网络占用很高但任务管理器里没有明显进程排在最前面那可能是某个进程的网络活动非常短刚好在你看的时候没体现。这种情况下用资源监视器多等一会儿或者用 netstat 观察外部连接通常能抓个正着。6.2 看到了 PID但不知道 PID 对应什么进程在命令提示符里执行tasklist /fi pid eq 1234把1234换成真实的 PID就能看到进程名。如果进程名是svchost.exe再去资源监视器里选中它查看服务列表找到具体是哪个 Windows 服务在联网。很多时候你以为系统在“偷流量”其实只是 Windows Update 在干活。6.3 用防火墙拦截后程序还在联网这种情况多数是被子进程或者兄弟进程“漏网”了。在资源监视器里找到程序的主进程看它之下是否存在update、helper、launcher之类的子进程把这些子进程也加入阻止规则。另外部分软件本身是绿色版启动时会把自己复制到临时目录再运行规则拦了原始目录没用还要把临时目录里的副本也拦掉。6.4 阻止了系统进程的联网后整个网络都出问题这是最典型的误操作。Windows 防火墙的“阻止”规则优先级很高它会先于“允许”规则生效。你一旦把svchost.exe或者dllhost.exe这些关键系统进程全都阻止出站DNS 解析、系统更新、RPC 服务等都会跟着失效。遇到这种情况直接打开防火墙“出站规则”把对应规则禁用或删除即可。这也是为什么我前面反复强调别拿系统服务练手。6.5 用 hosts 文件代替防火墙究竟行不行对于单个、已知域名的请求hosts 确实简单有效。但回到“拦截某个程序联网”这件事上它的问题在于你不知道程序会请求哪些域名而且程序更新后域名池可能随时变化。相比之下防火墙按进程路径拦截是“无脑”但稳定它不在乎程序去连哪个域名只要这个进程想出站就直接掐掉。这也正是“不改程序文件”这个方案最受欢迎的原因。还有一个实用技巧是给防火墙规则做备份。在“高级安全 Windows 防火墙”窗口里右键左侧的根节点选择“导出策略”把当前所有规则导出成一个文件。出问题时再右键导入就能快速回滚。我每次给一批软件加完出站规则都会导出一份备份不然重装系统或者误删规则时重启防火墙规则的工作量很大。最后分享两个小经验第一个经验排查后台流量最忌“只看一眼就动手”。我见过太多人因为看到svchost.exe联网就立刻去网上找教程“禁用服务”最后把系统的网络模块搞崩了。你先花 15 分钟用资源监视器抓住规律再决定是否拦截整个过程可能会更安全、更快。第二个经验给规则起名一定要直白。比如Block geekuninstaller outbound和Block update for PDF tool半年后你再回来看这些规则一眼就能想起当时为什么建它。我之前偷懒建了一堆“block1”“block2”后来排查问题时差点把它们当成恶意规则全给删了教训很深。
返回列表