Ubuntu 软件中心使用哪个端口?

Ubuntu 软件中心使用哪个端口?

我已经安装了 gufw 防火墙实用程序,并想创建一个端口白名单(想要最大程度的安全性,但目前将单个 IP 列入白名单太麻烦了)。到目前为止,我只将端口 53(用于 DNS)、80(用于 HTTP)和 443(用于 HTTPS)输入和输出都输入到白名单中,并关闭了防火墙,但 Ubuntu 软件中心可以毫无阻碍地安装程序,而防火墙肯定在运行(当列表条目不存在时,www 内容不会加载)。

它是否使用这些端口中的任何一个进行程序数据传输?我觉得很奇怪。或者 Ubuntu 中是否存在预定义的覆盖异常(这是一个新设置,12.04)?这里可能是什么情况,软件中心使用哪个端口传输程序数据(我假设它确实使用 HTTP 作为界面和列表条目,但程序本身呢?)?

总结:

  1. 为什么 Ubuntu 软件中心可以穿过我的防火墙(通过阻止所有其他端口,而不是 DNS/HTTP/HTTPS),以便安装程序?

  2. 它使用哪个端口来传输程序数据?

答案1

这是我在使用 Ubuntu 软件中心安装单个应用程序时运行 Wireshark 发现的结果:

  • DNS 请求(通过 UDP 端口 53 传出到您配置的 DNS 服务器,用于...)HTTP(传出至 TCP 端口 80 至...)
    • reviews.ubuntu.com
    • myapps.developer.ubuntu.com
    • software-center.ubuntu.com
  • 有关本地 APT 配置(已配置的存储库)的所有信息。这通常是 HTTP 或 FTP,当然也需要 DNS。查看“软件源”以查看您正在使用的 Ubuntu 存档镜像。如果您可以sudo apt-get update无错误地运行,则一切就绪。

注意:我没有发现任何 HTTPS 流量。不过,对于私有 PPA(用于商业软件)来说,情况可能如此。

答案2

如果你阻止除 ssh 之外的所有内容并运行 apt-get update,它将返回 IP 和端口:

Err:2 http://archive.canonical.com/ubuntu xenial InRelease
      Could not connect to archive.canonical.com:80 (91.189.92.191). - connect (111: Connection refused) [IP: 91.189.92.191 80]
    Err:3 http://us-east1.gce.archive.ubuntu.com/ubuntu xenial InRelease
      Could not connect to us-east1.gce.archive.ubuntu.com:80 (35.196.129.83). - connect (111: Connection refused) [IP: 35.196.129.83 80]
    Err:4 http://us-east1.gce.archive.ubuntu.com/ubuntu xenial-updates InRelease
      Unable to connect to us-east1.gce.archive.ubuntu.com:http: [IP: 35.196.129.83 80]
    Err:5 http://us-east1.gce.archive.ubuntu.com/ubuntu xenial-backports InRelease
      Unable to connect to us-east1.gce.archive.ubuntu.com:http: [IP: 35.196.129.83 80]
    Err:6 http://security.ubuntu.com/ubuntu xenial-security InRelease
      Could not connect to security.ubuntu.com:80 (91.189.88.162). - connect (111: Connection refused) [IP: 91.189.88.162 80]
    Reading package lists...

也许在真实控制台而不是远程终端上测试会更好。拔下 LAN 电缆并运行 apt update,然后检查返回的错误。

相关内容