3
A
回答
6
大多数XMPP服务器应支持这些DNS SRV记录中的至少一个:
- _xmpp-server._tcp。
example.com
- _xmpp-client._tcp。
example.com
有些服务器可能没有发布这些记录,但大多数人不想与外界交谈。举个例子,你可以用“挖”在命令行上,查看域,像这样:
% dig +short -t SRV _xmpp-server._tcp.gmail.com.
20 0 5269 xmpp-server2.l.google.com.
20 0 5269 xmpp-server3.l.google.com.
20 0 5269 xmpp-server4.l.google.com.
5 0 5269 xmpp-server.l.google.com.
20 0 5269 xmpp-server1.l.google.com.
“+短”摆脱了大量的DNS的细节,“-t SRV说:”我们想要的SRV记录,最后的点表示忽略您的本地域名设置。
(作为对@ user188719的响应而添加) 如果您未找到SRV记录,则可尝试使用原始域名,并假设客户端连接的端口为5222或服务器连接的端口为5269。
一旦你有主机名和端口号连接,你可以使用telnet hostname port
来查看是否有一个进程在那里监听。但是,要真正检测它是否是该主机/端口上的XMPP服务器,请发送XMPP流的开始。 nc
或netcat
为此提供了便利的机制。例如,对于服务器到服务器的检查:
% echo "<stream:stream to='gmail.com' version='1.0' xmlns='jabber:server' xmlns:stream='http://etherx.jabber.org/streams' xmlns:db='jabber:server:dialback'>" | nc xmpp-server.l.google.com 5269
<stream:stream id="0A44AFB86521393A" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:server" xmlns:db="jabber:server:dialback">
0
您可以尝试IMtrends:http://www.process-one.net/en/imtrends/
2
继乔的解释,我个人支票的SRV记录和回落到一个快速(短期超时)连接检查端口5269缓存结果。
相关问题
- 1. 如何验证服务器是否支持TLS 1.0协议?
- 2. 如何检查是否支持自定义协议
- 3. DIY检查浏览器是否支持TSL1.1协议?
- 4. 检查所有XMPP扩展协议支持ejabberd的命令?
- 5. GTALK支持XMPP个人事件协议
- 6. 是否有支持协议相关URL的URL缩短服务?
- 7. 如何告诉服务器客户端支持SPDY协议?
- 8. 如果服务器不支持使用的协议,JSSE是否实施回退?
- 9. 如何检查客户端是否连接到XMPP服务器
- 10. 支持回拨服务的WCF协议
- 11. 如何检查协议是否实现?
- 12. 服务器可以检查浏览器是否支持压缩?
- 13. StackDriver是否支持Syslog协议?
- 14. 施乐DocuShare是否支持CMIS协议?
- 15. Azure IoT Hub是否支持CoAP协议?
- 16. iPad是否支持file://协议?
- 17. VM协议是否支持两个JVM?
- 18. Windows Azure是否支持SPDY协议?
- 19. 如何检查Android设备是否支持SNEP或Android的Ndef Push协议?
- 20. 是否MySQL的客户机/服务器协议支持批量插入
- 21. 如何通过网页浏览器检测协议是否被支持?
- 22. 如何检查Android备份服务是否受支持?
- 23. HTTPUrlConenction检查服务器是否支持恢复
- 24. 检查FTP服务器是否支持MLSD
- 25. Titanium是否支持XMPP?
- 26. 检查服务器推送支持
- 27. Chrome中的HTTPS服务器“不支持的协议错误”
- 28. 服务器选择不支持或禁用的协议:SSLv3
- 29. 最佳Java支持的服务器/客户端协议?
- 30. 最佳Python支持的服务器/客户端协议?
哇,谢谢你的回复:) 我忘了提及我正在寻找一种自动方式。 此检查将定期在我的应用程序中执行。 – 2009-07-07 16:28:55