서버가 xmpp 프로토콜을 지원하는지 확인하는 방법은 무엇입니까?

서버가 xmpp 프로토콜을 지원하는지 확인하는 방법은 무엇입니까?

서버가 xmpp 프로토콜을 지원하는지, 즉 xmpp-server가 이 도메인에서 실행되고 있는지 확인하는 방법을 찾고 있습니다.

특별한 DNS 확인이나 그와 유사한 것일 수도 있습니다.

답변1

SSL이 아닌 jabber의 주요 기본 포트는 5222입니다. 텔넷을 사용하여 일부 xml을 뱉어내고 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"> 

물론 이것은 여러 서버와 여러 포트에 대해 스크립팅할 수 있으며 아마도 nc(netcat)를 사용하여 스크립팅하는 것이 더 쉬울 것입니다.

TLS 연결이 필요한 XMPP 서버의 경우 다음을 사용하여 테스트하세요. -

openssl s_client -starttls xmpp -connect suspectedserver:5222

답변2

XMPP 서버가 작동하도록 구성된 경우다른XMPP 서버의 경우 도메인이 DNS에 SRV 레코드를 가질 수 있습니다. 예를 들어:

$ 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.

독립 실행형 사이트의 경우 DNS에 이 데이터가 없을 가능성이 높기 때문에 이는 결코 XMPP 서버를 찾는 확실한 방법이 아닙니다. 그러나 그것은더 좋은데이터가 게시되고 포트 검색이 필요하지 않기 때문에 Jabber 서버를 찾는 방법입니다. 이는 RFC 3920(XMPP 프로토콜 정의)에도 정의되어 있습니다.

답변3

확실한 확인 방법은 없습니다. Nmap은 몇 가지 정보를 제공하지만 다른 사람의 서버에 대해 Nmap을 실행하는 데는 윤리적, 법적 문제가 있을 수 있습니다.

답변4

페더레이션 서버(Startrek 아님)인 경우 설명된 대로 SRV DNS 항목을 확인할 수 있습니다.여기.

관련 정보