Tcpdump
使用 netstat 監控 Nextcloud 連接
我無法通過伺服器上的 netstat 檢測到來自 Nextcloud 同步客戶端的傳入連接。
我的區域網路中有一台伺服器,在 docker 容器中執行帶有 MySQL 的 Nextcloud。我使用多個 Nextcloud 客戶端(Linux、macOS 和 iOS),一切正常。
我想檢查客戶端是否在主機級別連接到我的伺服器。使用 netstat 我可以查看客戶端是否通過 Nextcloud Web UI 連接,但我無法辨識 Nextcloud 同步客戶端的連接。
有人知道我缺少的 netstat 參數嗎?歡迎任何提示。
布拉斯特凡
這些連接可能與容器有關。這意味著主機現在充當“外部”和容器之間的路由器。
netstat
不會顯示這些連接。您將需要額外的工具來處理缺失的流程。一個這樣的工具是
conntrack
,它查詢 conntrack 關於跟踪的連接。將此命令與選項一起使用-j
:conntrack -L -j
將僅顯示經過 NAT 的連接,從而顯示容器和外部之間目前活動的已建立流,並補充
netstat
.如果您想要與
netstat
您類似的輸出,可以嘗試使用netstat-nat
或多或少依賴於相同機制的輸出。另一種循環執行的方法是向 Docker(
docker
直接在主機上使用)查詢每個容器的主 pid,並使用結果訪問容器的網路,以執行通常的netstat
. 這樣做的好處是顯示某些狀態不再使用 conntrack 顯示(例如CLOSE_WAIT
,通常是應用程序問題的症狀)。給定一個正在執行的名為 的 Docker 容器
containername
,從它自己的角度來看,它應該獲得所有的網路連接,即使容器本身缺少任何有用的命令:nsenter --target $(docker inspect --format '{{.State.Pid}}' containername) --net netstat -utn