如何從外部查詢xmpp伺服器以了解他正在運行什麼版本

如何從外部查詢xmpp伺服器以了解他正在運行什麼版本

周圍有很多 xmpps 伺服器(ejabberd、prosody 等...)。是否有一個 api 呼叫可以告訴人們在該伺服器上運行的品牌和版本是什麼?

答案1

API?可能大多數伺服器都提供一些 API 來取得它們的名稱和版本號。例如 ejabberd 提供了狀態API調用

$ ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 23.01.58 is running in that node

但很明顯這不是你想要的。每個伺服器都提供其自訂 API 以及使用它們的不同方法。

很可能你想要的是使用XEP-0092:軟體版本,大多數(如果不是全部)XMPP 伺服器、客戶端和元件都實現了它。使用該 XEP,您的客戶端可以詢問任何伺服器他的軟體名稱和版本。

當然,伺服器可能會回复,也可能不會回复,或者可能會提供虛假資訊。例如,ejabberd 在中實作了 XEP模組版本,預設情況下啟用,但可以停用以不洩露此資訊。

相關內容