确定RTSP服务器是否正在运行并需要身份验证

时间:2016-01-30 01:47:43

标签: tcp video-streaming rtsp

我知道端口554(通常是RTSP)在某个IP地址处打开。我希望能够确定:

  • 这真的是RTSP服务器吗?
  • 是否可以在未经过身份验证的情况下访问视频流?

我也希望尽可能以轻量级的方式做到这一点。我不需要访问视频流。

在查看RTSP规范后,我意识到我可以简单地打开TCP套接字并发送以下命令:

OPTIONS * RTSP/1.0<CRLF>
CSeq: 1<CRLF>

当我针对许多服务器尝试此操作时,我发现少数用

响应
RTSP/1.0 200 OK
CSeq: 1
<a bunch of other stuff>

这是可以预料的。但是,大多数请求都是我超时的。这让我相信这些资源需要身份验证,或者我做了一些根本错误的事情。

我猜测,如果需要身份验证,大多数服务器都会以401响应,所以我可能做错了。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

请参阅RTSP协议的RFC2326:RFC2326

  

D.1.2启用身份验证

     

为了从RTSP服务器访问媒体演示文稿   需要身份验证,客户端必须另外能够做到   以下内容:

 * recognize the 401 status code;
 * parse and include the WWW-Authenticate header;
 * implement Basic Authentication and Digest Authentication.