Пару лет назад я сделал простенький сайт, который содержал актуальный список XMPP-серверов. Список делал возможным ограничить поток сообщений к моему жаббер-серверу от серверов с In-Band регистрацией (регистрация не выходя из Jabber-клиента). Такие сервера любили использовать флудеры по жабам, атакам которых я был неоднократно удостоен.
Все это время мой сайт-список висел на onion-домене и о нем знал только я и еще пару человек, но пришло время его доработать и сделать не только списком, но и хоть каким-то аналогом xmpp.net (который в последние годы часто стал валяться) в плане сканирования.
Итак, сайт с полным списком XMPP-серверов висит на домене xmpp.love (Tor: jabberlistbrrxyk.onion/). Основные параметры (на мой субъективный взгляд) каждого XMPP-сервера (доступность для XMPP-клиента, доступность для XMPP-сервера и наличие In-Band регистрации) отображены в картинке-индикаторе (badge) сервера, прочие данные, которые сканер смог определить, отображены на странице результата сканирования сервера.
функционал
Внешний вид невзрачен, а пользовательский функционал весьма примитивен. Пользователю доступен, собственно, сам список всех XMPP-серверов, этот же список в форматах CSV и XLS. Помимо этого пользователь может добавить свой собственный сервер на анализ и запись в список, а также просмотреть текущую очередь заданий для сканирования. В то же время XMPP.love самодостаточен в плане поиска новых серверов и не умрет без ручного добавления новых хостов, поэтому я и рискнул назвать его Полным списком актуальных XMPP-серверов.
сканирование
Сканирование делится на два вида:
- Client-to-Server (C2S);
- Server-to-Server (S2S).
Каждый из видов разделяется на этапы:
- просмотр SRV-записей домена;
- непосредственно само сканирование по заданным в SRV хостам и портам.
В ходе сканирования выясняются такие детали как сам XMPP-сервер и его версия (ejabberd, Prosody, Openfire итд) доступные механизмы авторизации (plain text, MD5, SHA-1 итд), методы компрессии и другие. Однако, сканер не анализирует сертификат так, как это делает XMPP.net.
Все эти данные отображаются на странице результата сканирования сервера. Для поддержания актуальности списка, сканирование серверов периодически повторяется.
Вот такой незатейливый проект, буду рад если кто-нибудь поставит бейдж XMPP.love на сайт своего жаб-сервера.