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