Translated ['src/network-services-pentesting/554-8554-pentesting-rtsp.md

This commit is contained in:
Translator 2025-07-08 16:56:00 +00:00
parent 21a2736230
commit d07b4dbb04

View File

@ -6,7 +6,7 @@
来自 [wikipedia](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol):
> **实时流协议** (**RTSP**) 是一种网络控制协议旨在用于娱乐和通信系统以控制流媒体服务器。该协议用于在端点之间建立和控制媒体会话。媒体服务器的客户端发出类似VHS的命令如播放、录制和暂停以便实时控制从服务器到客户端视频点播或从客户端到服务器语音录)的媒体流。
> **实时流媒体协议** (**RTSP**) 是一种网络控制协议,旨在用于娱乐和通信系统,以控制流媒体服务器。该协议用于在端点之间建立和控制媒体会话。媒体服务器的客户端发出类似VHS的命令如播放、录制和暂停以便实时控制从服务器到客户端视频点播或从客户端到服务器语音录)的媒体流。
>
> 流数据的传输本身不是RTSP的任务。大多数RTSP服务器使用实时传输协议RTP与实时控制协议RTCP结合进行媒体流传输。然而一些供应商实现了专有的传输协议。例如RealNetworks的RTSP服务器软件也使用RealNetworks的专有实时数据传输RDT
@ -47,15 +47,24 @@ print(data)
## 枚举
获取有关有效方法和支持的 URL 的信息,并尝试暴力破解访问(如有必要)以获取内容访问权限
获取有关有效方法和支持的 URL 的信息,并尝试强行访问(如有必要)以获取内容
```bash
nmap -sV --script "rtsp-*" -p <PORT> <IP>
```
#### 使用 [ffplay](https://ffmpeg.org/ffplay.html) 查看 RTSP 流
一旦你发现了有效的 RTSP 路径(例如,`/mpeg4``/live.sdp`)并确认了访问权限(未认证或使用凭据),你可以使用 `ffplay` 来流式传输该视频源:
```bash
ffplay -rtsp_transport tcp rtsp://<IP>/mpeg4 -x 2560 -y 1440
```
- `-rtsp_transport tcp`:使用 TCP 而不是 UDP 以获得更可靠的流媒体
- `-x``-y`:可选标志以控制视频分辨率
- 根据需要替换 `<IP>` 和路径
### [暴力破解](../generic-hacking/brute-force.md#rtsp)
### **其他有用的程序**
用于暴力破解: [https://github.com/Tek-Security-Group/rtsp_authgrinder](https://github.com/Tek-Security-Group/rtsp_authgrinder)
进行暴力破解:[https://github.com/Tek-Security-Group/rtsp_authgrinder](https://github.com/Tek-Security-Group/rtsp_authgrinder)
[**Cameradar**](https://github.com/Ullaakut/cameradar)
@ -63,7 +72,7 @@ nmap -sV --script "rtsp-*" -p <PORT> <IP>
- 获取它们的公共信息(主机名、端口、摄像头型号等)
- 启动自动字典攻击以获取它们的流路径(例如 /live.sdp
- 启动自动字典攻击以获取摄像头的用户名和密码
- 从中生成缩略图以检查流是否有效并快速预览其内容
- 从中生成缩略图以检查流是否有效并快速预览其内容
- 尝试创建 Gstreamer 管道以检查它们是否正确编码
- 打印 Cameradar 能获取的所有信息的摘要