如何从外部查询 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 在mod_version,它默认是启用的,但可以禁用以不显示此信息。

相关内容