如何使用Windows防火墙阻止应用程序访问Internet

大多数时候,我们希望我们的应用程序在线,并连接到我们的本地网络和更大的互联网。但是,在某些情况下,我们希望阻止应用程序连接到Internet。请继续阅读,我们将向您展示如何通过Windows防火墙锁定应用程序。

我为什么要这么做?

你们中的一些人可能马上就被标题说服了,因为阻止应用程序正是你们一直想要做的事情。其他人可能对打开本教程很好奇,想知道为什么一开始就会阻止应用程序。

虽然您通常希望您的应用程序可以免费访问网络(毕竟Web浏览器不能访问Web有什么好处),但在各种情况下,您可能希望阻止应用程序访问网络。

下面是一些简单而常见的例子。您可能有一个坚持自动更新自身的应用程序,但是发现这些更新破坏了某些功能,您想要停止它们。您可能有一款适合孩子玩的视频游戏,但您对在线(且无人监督)的多人游戏元素则不太满意。您可能正在使用带有真正令人厌恶的广告的应用程序,这些广告可以通过切断应用程序的互联网访问来使其静默。

不管您为什么要放弃对给定应用程序的网络连接静默,深入Windows防火墙内部都是一种简单的方法。现在我们来看看如何阻止应用程序访问本地网络和Internet。

创建Windows防火墙规则

虽然我们将在Windows10上演示这一技巧,但基本布局和前提多年来基本保持不变,您可以很容易地将本教程改编到Windows的早期版本。

要创建Windows防火墙规则,您首先需要打开高级防火墙接口,该接口被恰当地命名为“具有高级安全性的Windows防火墙”。为此,请导航到“控制面板”并选择“Windows防火墙”。在“Windows防火墙”窗口中,单击左侧的“高级设置”链接。

注意:高级界面中发生了很多事情,我们鼓励您密切跟踪,不要理会教程范围和您的经验水平之外的任何事情。搞砸你的防火墙规则肯定会让你头疼。

在最左边的导航窗格中,单击中间窗格中显示的所有现有出站防火墙规则的“出站规则”链接。不要惊讶它已经填充了几十个和几十个Windows生成的条目。

在最右边的窗格中,点击[新建规则],为出站流量创建新规则。

在“新建出站规则向导”中,确认选择了“程序”选项,然后单击“下一步”按钮。

在“程序”屏幕上,选择“此程序路径”选项,然后键入(或浏览)要阻止的程序的路径。出于本教程的目的,我们将阻止Maxthon web浏览器的便携副本-主要是因为很容易向您演示浏览器已被阻止。但是,现在还不能点击“下一步”。

在继续之前,您需要做一个重要的更改。在这件事上相信我们。如果你跳过这一步,你最终会很沮丧。

当您使用“浏览”命令选择EXE文件时,如果特定路径包含由其中一个变量表示的给定路径部分,则Windows默认使用所谓的环境变量。例如,它不是直接插入C:\Users\Steve\,而是将该部分交换为环境变量%USERPROFILE%。

出于某种原因,尽管这是它填充程序路径字段的默认方式,但它会违反防火墙规则。如果您浏览到的文件位于使用环境变量的任何位置(如/User/路径或/Program Files/路径),则必须手动编辑程序路径条目以删除该变量,并将其替换为正确且完整的文件路径。如果这有点令人困惑,让我们用上面的示例程序进行说明。

当我们浏览到Maxthon Web浏览器的EXE文件时,Windows插入了该文件的以下程序路径信息,该文件位于我们的Documents文件夹中:

%USERPROFILE%\Documents\MaxthonPortable\App\Maxthon\Bin\Maxthon.exe

Windows可以识别该文件路径,但由于某些原因,在插入防火墙规则时不再识别该文件路径。相反,我们需要将包含环境变量的文件路径替换为完整的文件路径。在我们的示例中,它看起来如下所示:

C:\Users\Jason\Documents\MaxthonPortable\App\Maxthon\Bin\Maxthon.exe

这可能是与当前版本的Windows 10防火墙隔离的一些特殊情况,您可以在其他版本中使用环境变量,但我们建议您只删除该变量,并使用完整和绝对的文件路径,这样可以省去今天和以后的麻烦。

最后,这里有一件很小但很重要的事情需要记住。对于大多数应用程序,主EXE文件是您想要阻止的文件,但也有一些应用程序的情况有点违反直觉。以“我的世界”为例。乍一看,似乎应该屏蔽Minecraft.exe文件,但实际上,Minecraft.exe文件仅仅是启动程序文件,实际的网络连接是通过Java实现的。因此,如果您想要限制您的孩子连接到在线的“我的世界”服务器,您需要阻止“Javaw.exe”,而不是“Minecraft.exe”。不过,这是非典型的,因为大多数应用程序都可以通过主可执行文件阻塞。

无论如何,一旦您选择了您的应用程序并确认了路径,您最终就可以单击“下一步”按钮了。在向导的“操作”屏幕上,选择“阻止连接”选项,然后单击“下一步”。

在“配置文件”屏幕上,系统会要求您选择何时应用规则。在这里,您有三个选项:

域:当计算机连接到域时,该规则适用。 专用:当计算机连接到专用网络(如您的家庭或小型企业网络)时,该规则适用。 公共:当计算机连接到公共网络时,例如在咖啡馆或酒店,该规则适用。

相关:Windows中的专用网络和公共网络有什么不同?

因此,例如,如果您有一台笔记本电脑,您在家里(您定义为私有的网络)和咖啡厅(您定义为公共的网络)使用,并且您希望规则适用于这两个地方,您需要同时选中这两个选项。如果你想要这条规则只在你在咖啡厅的公共Wi-Fi点时适用,那么只需勾选“公共”即可。如果有疑问,只需全部选中以阻止所有网络上的应用程序即可。做出选择后,请单击“下一步”。

最后一步是命名您的规则。给它一个清晰的名字,以后你就会认出它来。我们简单地将我们的应用程序命名为“Maxathon Block”,以表明我们正在阻止哪个应用程序。如果需要,您可以添加更详细的描述。填写完适当的信息后,请单击“完成”按钮。

现在,您的新规则的“出站规则”列表的顶部将有一个条目。如果你的目标是地毯式阻挡,那你就完了。如果您想要调整和改进规则,您可以双击条目并进行调整-比如添加本地例外(例如,应用程序不能访问Internet,但它可以连接到您网络上的另一台PC,这样您就可以使用网络资源等)。

至此,我们已经实现了本文标题中概述的目标:来自相关应用程序的所有出站通信现在都被切断。如果您想要进一步加强对应用程序的控制,可以在“具有高级安全性的Windows防火墙”的右侧导航面板中选择“入站规则”选项,然后一步一步地重复该过程,重新创建一个相同的防火墙规则来管理该应用程序的入站流量。

测试规则

现在规则处于活动状态,是时候启动有问题的应用程序并对其进行测试了。我们的测试应用程序是Maxthon web浏览器。实际上,出于显而易见的原因,阻止你的网络浏览器访问互联网并不是特别有用。但是,它确实是一个有用的例子,因为我们可以立即清楚地证明防火墙规则正在生效。

相关文章