The RTSP Bee is a java program that runs a subscription "attack" on a server. One RTSP Bee can have N Bullets (or stingers) that are fired concurrently.
- Maven 3+
- Java 8 JDK
First run the setup
:
./setup.sh
Creates an executable jar with all the needed dependencies (~26Mb)
$ mvn clean compile assembly:single
You will need to have Java 8 installed to run the RTSP Bee.
$ java -jar -noverify rtspbee.jar [red5pro-server-IP] [port] [app-name] [stream-name] [count] [timeout]
The IP of the Red5 Pro Server that you want the bee to subscribe to attack.
The port on the Red5 Pro Server that you want the bee to subscribe to attack.
The application name that provides the streaming capabilities.
The name of the stream you want the bee to subscribe to attack.
The amount of bullets (stingers, a.k.a. stream connections) for the bee to have in the attack.
The amount of time to subscribe to stream. The actual subscription time may differ from this amount. This is really the time lapse of start of subscription until end.
java -jar -noverify rtspbee.jar xxx.xxx.xxx.xxx 8554 live mystream 100 60
This will run an attack with 100
stingers (a.k.a, subscription streams) for 60
seconds each, consuming the mystream
stream at rtsp://xxx.xxx.xxx.xxx:8554
.
$ java -jar -noverify rtspbee.jar [stream-manager-API-request] [port] [count] [timeout]
The API request endpoint that will return Edge server information.
The port on the Red5 Pro Edge Server that you want the bee to subscribe to attack.
The amount of bullets (stingers, a.k.a. stream connections) for the bee to have in the attack
The amount of time to subscribe to stream. The actual subscription time may differ from this amount. This is really the time lapse of start of subscription until end.
$ java -jar -noverify rtspbee.jar "http://xxx.xxx.xxx.xxx:5080/streammanager/api/3.1/event/live/mystream?action=subscribe" 8554 100 60
This will run an attack with 100
stingers (a.k.a, subscription streams) for 60
seconds each, consuming the mystream
stream at the Edge server address returned from the Stream Manager API call to http://xxx.xxx.xxx.xxx:5080/streammanager/api/3.1/event/live/mystream?action=subscribe
.
For the Stream Manager example, it is important to note that the insecure IP address is required. If you are serving your Stream Manager over SSL, the RTSP bee cannot properly use its API due to security restrictions. It is possible to resolve these security issues in the future, if you download and store the cert in your Java install, https://stackoverflow.com/questions/21076179/pkix-path-building-failed-and-unable-to-find-valid-certification-path-to-requ.
The above run
examples use the -noverify
option when running the bee. Without this option, verification errors are thrown due to the compilation and obsfucation of the Red5 Pro dependency libs.