【问题标题】:Allowing a program through windows firewall允许程序通过 Windows 防火墙
【发布时间】:2016-04-15 11:36:21
【问题描述】:

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

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

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

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

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

提前致谢。

【问题讨论】:

  • 在这种情况下,“程序”是 Python 本身。如果它没有在网络上操作的权限,那么您在自己的 Python 代码中尝试的任何网络操作都将失败。 Windows 似乎不区分客户端和服务器操作,它只是启用或禁用所有访问。

标签: windows firewall windows-firewall


【解决方案1】:

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

  1. 转到 Windows 设置
  2. 然后去更新和安全->防火墙和网络保护->允许应用通过防火墙
  3. 然后点击更改设置
  4. 同时搜索 python 和刻度线(私有和公共)

你应该没事了!

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      ad.1) Mark 先生 +1,但更准确地说 - 通常你所说的“互联网”属于 - 公共网络 -> 它不安全/不可信,因此两者的安全级别有所不同。例如,“在幕后”,如果您试图访问局域网(私有网络)中的页面,那么它是受信任的,因此例如默认情况下可能会接受 cookie,或者执行脚本。

      ad.2) 文本字段不足:D

      ad.3) 通常可在“具有高级安全性的 Windows 防火墙”中配置,然后您可以指定 port-s 范围/应用程序/系统级别

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-01
        • 1970-01-01
        • 2021-10-06
        • 2019-08-21
        • 2020-04-10
        • 2017-06-06
        相关资源
        最近更新 更多