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.shCreates an executable jar with all the needed dependencies (~26Mb)
$ mvn clean compile assembly:singleYou 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 60This 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 60This 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.