允许程序通过 windows 防火墙

Allowing a program through windows firewall

我是 windows 防火墙的新手。我看过这个对话框,无法理解它的意思。

上面的对话框说"Allow python to communicate on these networks:"。然后它给出了两个复选框,一个用于每个专用网络,一个用于 Public 网络。

所以,我的问题是:- 1) Private network 和 public network 有什么区别?其中internet属于哪个网络?

2) 允许程序在给定网络上通信是什么意思?让我们从 Client 和 Server 的角度来看。一个程序(作为客户端),当允许通过给定网络上的防火墙时(public/private),是否意味着它可以与同一网络中的其他计算机建立套接字连接? 一个程序(作为服务器),当允许通过防火墙时,does it mean that it can accept socket connections from other computers within the same network ?

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

提前致谢。

ad.1) +1 马克先生,但更准确地说 - 通常 "internet" 正如你所说的那样属于 - public 网络 -> 它不安全/不可信因此安全水平区分两者。 "behind" 例如,如果您试图访问局域网(专用网络)中的页面,那么它是可信的,因此例如默认情况下可能会接受 cookie,或者执行脚本。

ad.2) 文字不足 field:D

ad.3) 通常可在 "Windows Firewall with Advanced Security" 中配置,然后您可以指定 port-s range/application/system level

经过大量研究和调查,我发现入站规则适用于程序想要打开服务器套接字以侦听来自同一网络或不同网络上其他节点的连接的场景。出站连接适用于当程序想要连接到同一网络或其他网络上的其他计算机(作为客户端)时的场景。

您可以轻松为 python 启用,只需按照以下步骤操作即可:

  1. 转到 windows 设置
  2. 然后去更新和安全->防火墙和网络保护->允许应用程序通过防火墙
  3. 然后点击更改设置
  4. 搜索 python 并勾选两者(私有和 public)

你应该可以走了!