1 1 # RTSPBrute 2 2 3 + [![pipeline status](https://gitlab.com/woolf/RTSPbrute/badges/master/pipeline.svg)](https://gitlab.com/woolf/RTSPbrute/-/commits/master) 4 + [![coverage report](https://gitlab.com/woolf/RTSPbrute/badges/master/coverage.svg)](https://gitlab.com/woolf/RTSPbrute/-/commits/master) 5 + 3 6 <p align="center"> 4 - <a href="https://asciinema.org/a/351052 ? autoplay = 1 " target="_blank"><img src="https://asciinema.org/a/351052 .svg" /></a> 7 + <a href="https://asciinema.org/a/353291 " target="_blank"><img src="https://asciinema.org/a/353291 .svg" /></a> 5 8 </p> 6 9 7 10 > Inspired by [Cameradar](https://github.com/Ullaakut/cameradar) skipped 22 lines 30 33 - `Pillow` 31 34 - `rich` 32 35 33 - ### Steps to install 36 + Install with `pip` or your favorite PyPi package manager. 34 37 35 - 1. `git clone https://gitlab.com/woolf/RTSPbrute.git` 36 - 2. `cd RTSPbrute` 37 - 3. `pip install -r requirements.txt` 38 + ``` 39 + pip install rtspbrute 40 + ``` 38 41 39 42 ## CLI 40 43 41 44 ``` 42 45 USAGE 43 - $ rtspbrute [ - h ] [ -t TARGETS] [-p PORTS [PORTS ...]] [-r ROUTES] [-c CREDENTIALS] 44 - [-ct N] [-bt N] [-st N] [-T TIMEOUT] [-d] 46 + $ rtspbrute -t TARGETS [-p PORTS [PORTS ...]] [-r ROUTES] [-c CREDENTIALS] 47 + [-ct N] [-bt N] [-st N] [-T TIMEOUT] [-d] [ - h ] 45 48 46 49 ARGUMENTS 47 50 -h, --help show this help message and exit skipped 8 lines 56 59 -d, --debug enable the debug logs 57 60 58 61 EXAMPLES 59 - $ python -m rtspbrute 60 - $ python - m rtspbrute -t ips .txt -p 554 5554 61 - $ python -m rtspbrute -r paths .txt -c combinations.txt 62 - $ python -m rtspbrute -st 10 -T 10 62 + $ rtspbrute -h 63 + $ rtspbrute -t hosts .txt -p 554 5554 8554 - d 64 + $ rtspbrute -t ips . txt -r routes .txt -c combinations.txt 65 + $ rtspbrute -t targets.txt -st 10 -T 10 63 66 ``` 64 67 65 68 ### **"argument"** (`default_value`): 66 69 67 - - **"-t, --targets"** (` hosts . txt ` ): Set custom path to the input file. The file can contain IPs, IP ranges and CIDRs. Each one of them should be on a separate line, e.g.: 70 + - **"-t, --targets"** (_No default value_ ): Set the path to the input file. The file can contain IPs, IP ranges and CIDRs. Each one of them should be on a separate line, e.g.: 68 71 69 72 ``` 70 73 0.0.0.0 skipped 23 lines 94 97 - **"-T, --timeout"** (`2`): Set custom timeout value for socket connections 95 98 - **"-d, --debug"** (`False`): Enable debug logging to `debug.log` file 96 99 97 - ## TODO 98 - 99 - - [x] Add support for multiple ports 100 - - [ ] Optimize for large input 101 - - [ ] Add tests 102 - - [x] Add CLI 103 - - [x] Beautify format of output to terminal 104 - - [ ] Release on PyPI 105 -