一位客户要求我提供我公司的 Linux 服务器连接到的所有 URL 的列表,以便完成软件更新,包括这些连接使用的各个 TCP、UDP 端口。这样客户就可以为我们的服务器创建与互联网的自定义连接。
我尝试使用 netstat 来获取某种日志,但无法让它显示完整的 URL,它只会显示 IP 地址。
这是我到目前为止使用过的命令。
netstat -putwc
任何帮助将不胜感激。
谢谢。
VOCOVO 单元需要连接的所有 URL。 2. 这些连接将使用的 TCP、UDP 端口。 3. 每笔交易所需的带宽。
答案1
您想更新什么类型的软件?根据您提供的信息,它可能只使用 HTTP(S)(TCP 端口 80 或 443),但您需要了解 HTTP(S) 的工具才能发挥很大作用。
HTTP URL 在应用程序层(OSI 第 7 层)运行:netstat 在网络/传输层(OSI 第 3/4 层)运行,因此您将无法从中获取信息,因为它不是为此设计的。这就像试图仅根据街道地址来获取住在房子里的人的姓名一样。
您可以使用任何其他工具,例如 Wireshark 或代理服务器吗?如果您有代理服务器,您可以通过该服务器记录请求(并粗略了解带宽!)如果您的程序使用更奇特的协议,Wireshark 可能会提供帮助。
答案2
我正在给出答案,尽管不完全是你所问的。
对于连接安装软件包/进行安全更新所需的端口通常是 80/TCP 和 443/TCP;地址取决于您正在使用的存储库。
然而,如果使用代理,而不是监视/选择地址,明智的做法是将代理 APT 或 YUM 连接列入白名单(例如每个应用程序)。
至于监控,您可以tcpdump
在进行安全更新和安装软件包时使用,如下所示:
sudo tcpdump port 80 or port 443
但是,请注意,根据您所使用的存储库名称,某些存储库名称可能会转换为多个 IP 地址。
至于网络使用情况,如果只是单个系统,则并不重要,但根据安装的更新而有所不同。我会使用 SNMP 和 cacti 随着时间的推移对其进行监控。您也可以尝试使用 iftop,但这样的措施同样毫无价值。
言归正传,流量数据应该是估计/猜测或数月来测量。