Como verificar se um servidor suporta o protocolo xmpp?

4

Estou procurando uma maneira de verificar se um servidor é compatível com o protocolo xmpp, ou seja, o xmpp-server está sendo executado neste domínio.

Talvez uma verificação de DNS especial ou algo assim?

    
por Anton Mironov 08.07.2009 / 16:27

5 respostas

9

A principal porta padrão para jabber não-SSL é 5222. Você poderia cuspir alguns xml usando telnet e ver se você obtém uma resposta XML:

telnet suspectedServer 5222
<?xml version="1.0"?>  <stream:stream to="foo.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0"> 

Isso pode, claro, ser roteirizado para vários servidores e várias portas, provavelmente mais fácil para script com nc (netcat).

Para servidores XMPP que requerem conexões TLS, teste com: -

openssl s_client -starttls xmpp -connect suspectedserver:5222
    
por 08.07.2009 / 16:45
4

Se um servidor XMPP estiver configurado para funcionar com outros servidores XMPP, é possível que o domínio tenha um registro SRV no DNS. Por exemplo:

$ dig _xmpp-server._tcp.google.com srv +short
20 0 5269 xmpp-server1.l.google.com.
20 0 5269 xmpp-server4.l.google.com.
20 0 5269 xmpp-server3.l.google.com.
5 0 5269 xmpp-server.l.google.com.
20 0 5269 xmpp-server2.l.google.com.

Esta não é uma maneira definitiva de encontrar servidores XMPP, já que os sites independentes provavelmente não possuem esses dados no DNS. É, no entanto, uma maneira melhor de encontrar um servidor jabber, uma vez que os dados são publicados e não requerem nenhum exame de porta. Também é definido no RFC 3920 (a definição do protocolo XMPP).

    
por 08.07.2009 / 16:48
0

Não há um modo definitivo de verificação. O Nmap lhe daria algumas indicações, mas haveria algum problema ético e possivelmente legal em executá-lo nos servidores de outras pessoas.

    
por 08.07.2009 / 16:36
0

Se for sua rede, você pode tentar executar algo como o Spiceworks na sub-rede para procurar por sistemas executando um servidor XMPP.

    
por 08.07.2009 / 16:41
0

Se este for um servidor de federação (não, não Startrek), então você pode verificar as entradas DNS SRV conforme explicado aqui .

    
por 08.07.2009 / 16:52

Tags