我在 bash 腳本中發現了以下 snmpget 命令,該命令用於檢查遠端伺服器狀態;遠端伺服器是啟動還是關閉。命令是
snmpget $1 tcpConnState.0.0.0.0.12000.0.0.0.0.0 | grep listen | wc -l
這$1
是遠端伺服器的主機名稱。每當我嘗試執行命令時,它都會顯示以下錯誤
No log handling enabled - turning on stderr logging
snmpget: No securityName specified (Sub-id not found: (top) -> tcpConnState)
0
snmpd 配置需要進行任何更改嗎?
答案1
tcpConnState
是 的一部分TCP-MIB
,檢索遠端主機上活動 tcp 連線的資訊(類似於 中提供的資訊netstat
)。前五位是伺服器用於 TCP 連接的本機位址和端口,後五位是遠端位址和連接埠。
例如,活動的 ssh 連線如下所示,分別a.b.c.d
作為伺服器和w.x.y.z
用戶端
TCP-MIB::tcpConnState.a.b.c.d.22.w.x.y.z.62612 = INTEGER: established(5)
在本例中,它正在尋找從0.0.0.0
(任何本地位址)連接埠 12000 到遠端主機0.0.0.0
連接埠0 的tcp 套接字- 這是偵聽套接字通常顯示的內容(假設它未綁定到特定的本機IP 位址)。簡而言之,它正在檢查是否有東西在偵聽 snmp 目標上的連接埠 12000。
遠端主機可能不支援該tcpConnState
操作,或未公開。
我會先在遠端主機上嘗試snmpwalk
看看tcpConnState
樹是否出現。如果它類似於運行標準 snmpd 守護程序的 Linux 機器,它應該支援此功能,因此可以在配置中停用它。