外部から 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を実装している。mod_バージョンデフォルトでは有効になっていますが、この情報を公開しないように無効にすることもできます。

関連情報