1. 私有网络和公共网络

1. 私有网络和公共网络

我是 Windows 防火墙的新手。我看到过这个对话框,但无法理解它的含义。

在此处输入图片描述

上面的对话说“允许 Python 在这些网络上进行通信:”然后它会给出两个复选框,一个用于每个私有网络,一个用于公共网络。

所以,我的问题是:

  1. 私有网络和公用网络有什么区别?互联网属于其中的哪个网络?

  2. 允许程序在给定网络上通信意味着什么?

    让我们从客户端和服务器的角度来看:

    • 当允许程序(充当客户端)通过给定网络(公共/私有)上的防火墙时 - 这是否意味着它可以与同一网络内的其他计算机建立套接字连接?

    • 当允许程序(充当服务器)通过防火墙时 - 这是否意味着它可以接受来自同一网络内其他计算机的套接字连接?

  3. 我如何控制程序来监听连接或者建立连接?

    我的意思是,我如何控制任何 python 程序(python.exe)不允许监听连接?

答案1

  1. 两者的区别在于 Windows 给予它的信任级别。两者都是局域网s。例如,您可以将 Windows“专用网络”视为家庭网络,将公共网络视为咖啡馆的 wifi 热点。Windows 在公共网络和专用网络上的行为并不相同(请参阅这里)互联网并不“属于”局域网;局域网可以连接到互联网。

  2. 在 Windows 上,允许程序在给定网络上进行通信意味着启用防火墙规则,允许其连接到另一台计算机或通过该网络监听其他计算机的连接。这确实意味着它可以通过套接字建立连接,是的,但如果 LAN 连接到其他网络(例如 Internet),则不仅从同一网络的计算机建立连接。但是,传出或传入流量通常是不同的防火墙规则,因此您应该检查要启用/禁用哪些规则。

  3. 如上所述,您可以通过某种方式配置防火墙以进行连接。此外,监听端口可能需要权限,因此您应该检查哪些权限是阻止程序所必需的。

答案2

1. 私有网络和公共网络

它们主要供漫游机器使用。每当您连接到新网络时,Windows 都会要求您识别您的网络类型(私人/企业/公共)。它允许防火墙根据您连接机器的位置配置不同的规则集。

当前网络类型应在网络控制面板和防火墙控制台插件中指明(参见 3.)

2. 连接

通常,“接受来自”和“建立到”网络的连接应该分开。我记得它们在 Windows 策略中,操作系统会询问你们是否需要这两个权限。它们被称为“入站规则”和“出站规则”。

3. 高级规则/检查

您可以在防火墙控制台插件中找到这些规则wf.msc

答案3

首先,关于防火墙。它只是一扇门,默认情况下它是关闭的。没有连接进出。您可以手动配置它以允许打开某些端口。有些程序会打开它们需要的端口,并会提示您类似于您的帖子。

私人和公共网络是您的“默认”防火墙配置文件。您通常每次连接到新网络时都会选择私人或公共,例如当您连接到新的 WiFi 时。

无论你为 Python 选择什么配置文件,它都会决定其可用性。如果你只允许它在你的私有网络中连接,那么当你在公共网络上工作时,Python 将无法建立连接。

它会建立客户端/服务器连接吗?

是的(如果其被编程这样做的话)。选择私有或公共配置文件不会影响 Python 为自己打开端口的事实。它将为您的连接打开端口。只是,如果您选择 Private,则这些连接仅在您处于 Private 网络中时才会打开,而如果您处于 Public 网络中时则会关闭。另一方面,如果您选择 Public,则无论您使用哪种网络连接,Python 都会建立这些连接。

您可以从防火墙设置控制 Python。

相关内容