監控TigerVNC連接需從狀態檢查、日志分析、實時監控三個維度入手,以下是具體方法:
① 列出當前運行的VNC實例
使用vncserver -list
命令可查看所有已啟動的VNC服務器實例,包括顯示編號(如:1
)、綁定的顯示設備(如display 0
)及客戶端IP和端口(如192.168.1.100:5901
)。
示例輸出:
:1 connected to display 0 192.168.1.100:5901
該命令能快速確認是否有活躍的VNC會話。
② 檢查VNC服務狀態(Systemd管理)
若TigerVNC通過Systemd配置為系統服務(默認路徑為/etc/systemd/system/vncserver@.service
),可使用以下命令查看指定實例的狀態(將:1
替換為實際顯示編號):
sudo systemctl status vncserver@:1.service
輸出中的active (running)
表示服務正常運行,inactive (dead)
則表示未啟動。
③ 查看VNC進程狀態
通過ps
命令過濾Xtightvnc
或tigervnc
進程,確認VNC服務器進程是否在運行:
ps aux | grep -E 'Xtightvnc|tigervnc'
輸出中會顯示進程ID(PID)、運行用戶及啟動參數(如顯示編號、分辨率)。
① 日志文件位置
TigerVNC的日志默認存儲在用戶家目錄的.vnc
子目錄下,文件名格式為<主機名>:<顯示編號>.log
(如debian:1.log
)??赏ㄟ^以下命令查看日志文件路徑:
ls ~/.vnc/
若日志路徑被自定義,需檢查~/.vnc/xstartup
或/etc/systemd/system/vncserver@.service
中的logfile
配置項。
② 查看實時日志
使用tail
命令實時跟蹤日志輸出,及時捕獲連接事件(如登錄、斷開):
tail -f ~/.vnc/debian:1.log
當日志中出現Authentication failure
時,表示有密碼錯誤的連接嘗試;出現New client connected
時,表示有新客戶端成功連接。
③ 使用journalctl查看系統日志
若日志未寫入用戶目錄,可通過journalctl
查看系統級VNC日志(需root權限):
sudo journalctl -u vncserver@:1.service
或查看所有VNC相關日志:
sudo journalctl | grep vnc
日志中會記錄服務的啟動、停止時間及連接狀態變化。
① 監控當前連接客戶端
通過netstat
或ss
命令查看VNC端口(默認5900+顯示編號
,如:1
對應5901
)的連接情況,確認當前活躍的客戶端IP:
sudo netstat -tulnp | grep 5901
# 或
sudo ss -tulnp | grep 5901
輸出中會顯示客戶端的IP地址和端口(如192.168.1.100:12345
)。
② 使用日志分析工具統計連接
通過grep
、awk
等工具提取日志中的關鍵信息(如IP地址),統計訪問頻率或異常行為:
# 統計連接次數最多的IP
grep "New client connected" ~/.vnc/debian:1.log | awk '{print $10}' | sort | uniq -c | sort -nr
# 提取所有連接失敗的記錄
grep "Authentication failure" ~/.vnc/debian:1.log
這些命令可幫助快速識別潛在的暴力破解或異常連接。
通過以上方法,可全面監控Debian系統上TigerVNC的連接狀態、分析日志排查問題,并實時掌握連接活動情況。