我无法通过服务器上的 netstat 检测来自 Nextcloud 同步客户端的传入连接。
我的局域网中有一台服务器,在 docker 容器中运行带有 MySQL 的 Nextcloud。我使用多个 Nextcloud 客户端(Linux、macOS 和 iOS),一切正常。
我想检查客户端是否在主机级别连接到我的服务器。使用 netstat,我可以查看客户端是否通过 Nextcloud Web UI 连接,但我无法识别 Nextcloud 同步客户端的连接。
有谁知道我缺少的 netstat 参数?欢迎任何提示。
BR斯特凡
连接可能被 DNATed 到容器。这意味着主机现在充当“外部”和容器之间的路由器。
netstat
不会显示这些连接。您将需要额外的工具来处理缺失的流程。一个这样的工具是
conntrack
,它查询 conntrack 关于被跟踪的连接。将此命令与选项一起使用-j
:将仅显示 NATed 连接,从而显示容器与外部之间当前已建立的活动流并补充
netstat
.如果您想要类似的输出,
netstat
您可以尝试(如果可用netstat-nat
)或多或少依赖于相同的机制。另一种循环运行的方法是查询 Docker(
docker
直接在主机上使用)有关每个容器的主 pid 并使用结果访问容器的网络,以运行通常的netstat
. 这具有显示某些状态的优点,不再显示 conntrack(例如CLOSE_WAIT
,通常是应用程序问题的症状)。给定一个名为 的正在运行的 Docker 容器
containername
,从它自己的角度来看,这应该获得它的所有网络连接,即使容器本身缺少任何有用的命令: