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. 如何检查是否支持自定义协议
- 2. DIY检查浏览器是否支持TSL1.1协议?
- 3. 检查所有XMPP扩展协议支持ejabberd的命令?
- 4. 如何告诉服务器客户端支持SPDY协议?
- 5. 如何检查客户端是否连接到XMPP服务器
- 6. 如果服务器不支持使用的协议,JSSE是否实施回退?
- 7. 支持回拨服务的WCF协议
- 8. 如何检查协议是否实现?
- 9. 服务器可以检查浏览器是否支持压缩?
- 10. Azure IoT Hub是否支持CoAP协议?
- 11. 施乐DocuShare是否支持CMIS协议?
- 12. iPad是否支持file://协议?
- 13. StackDriver是否支持Syslog协议?
- 14. Windows Azure是否支持SPDY协议?
- 15. VM协议是否支持两个JVM?
- 16. 如何检查Android设备是否支持SNEP或Android的Ndef Push协议?
- 17. 如何检查Android备份服务是否受支持?
- 18. 如何通过网页浏览器检测协议是否被支持?
- 19. HTTPUrlConenction检查服务器是否支持恢复
- 20. 如何检测Git服务器是否支持浅层克隆?
- 21. 检查服务器推送支持
- 22. 最佳Python支持的服务器/客户端协议?
- 23. 服务器选择不支持或禁用的协议:SSLv3
- 24. Chrome中的HTTPS服务器“不支持的协议错误”
- 25. 最佳Java支持的服务器/客户端协议?
- 26. 如何检查FTP服务器是否在Python中提供TLS支持?
- 27. 如何检查PHP是否支持multi_curl?
- 28. 如何检查curl是否支持ssl?
- 29. Azure DocumentDB本地模拟器是否支持mongodb协议?
- 30. 我可以检查SOAP Web服务是否支持某种WebMethod?
哇,谢谢你的回复:) 我忘了提及我正在寻找一种自动方式。 此检查将定期在我的应用程序中执行。 – 2009-07-07 16:28:55