PAGES
← all tools
◆ Exploitation & C2

cameradar

v6.2.0 open-source

Cameradar scans RTSP endpoints on authorized targets and uses dictionary attacks to bruteforce their credentials and routes.

Summary

cameradar is an open-source, MIT-licensed command-line tool that scans RTSP endpoints on IP cameras and bruteforces their stream routes and credentials using dictionary attacks. It runs as a binary or Docker image against a subnet, an input file, or specific hosts and ports, and can hand discovery off to masscan before attacking the routes and logins it finds, producing a report of accessible streams and their device models. This puts it in the hands of penetration testers and IoTIoTA collective label for internet-connected physical devices — sensors, cameras, routers, appliances — that tools target because they run embedded firmware with limited patching and broad network exposure. security researchers checking exposed cameras on authorized targets, rather than SOCSOCA security operations center, the team or function that monitors threats, investigates alerts and coordinates incident response. Its work can be internal, outsourced or shared. teams doing passive monitoring. It sits in the exploitation category alongside other credential-bruteforce tools, built specifically for RTSP rather than as a general-purpose scanner. First committed in 2016 and still active, with 22 contributors and 89 commits in the past year, including a release just 26 days ago.

Cameradar scans RTSP endpoints on authorized targets and uses dictionary attacks to bruteforce their credentials and routes.

How cameradar helps

Which cameras on this network expose RTSP streams that were never supposed to be reachable?

sweeps the subnet, input file, or host list for open RTSP endpoints and lists every accessible host and port it finds

Which of these RTSP feeds are protected by nothing more than default or weak credentials?

runs dictionary attacks against each discovered host's login and reports the credentials that succeeded

Which stream routes on a camera aren't in the URL anyone gave me?

bruteforces common route paths against each host with dictionary attacks and reports the routes that respond

What device is actually behind that open stream?

reads the RTSP session to identify the device model producing the feed and includes it in the report

Can I reach the video, not just the login, on the cameras I found?

opens the discovered route with the recovered credentials and confirms whether the stream itself is accessible

Which exposed cameras and credentials do I need to hand to the client in my findings?

compiles a report of every host, route, credential pair, and device model discovered across the scan

all 12 features, with the evidence for each →

Languages

Not documented

Features

12 capabilities

Built from cameradar's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What cameradar offers you

  • Command-line interface2
  • CI/CD pipeline integration1
  • Scripting language support1
All capabilities 12 capabilities
Dictionary attacks shipped Bruteforces camera credentials using custom or default wordlists. 9 releases · 1 other source · first seen May 2016

release 9 total

  • Adds support for custom dictionary paths via configuration v6.0.0 · Jan 2026 · source · release history
  • Improves logging verbosity for authentication types not present in the dictionary v5.0.3 · Oct 2024 · source · release history
  • Updates the default credential dictionary to include newly discovered RTSP username/password combinations v5.0.3 · Oct 2024 · source · release history
  • Adds new default credentials for authenticated camera discovery v5.0.2 · Mar 2022 · source · release history
  • Adds detection routes and credential handling logic for Besder IP camera models v4.1.3 · Jan 2020 · source · release history
  • Support for digest authentication on cameras (in addition to existing basic auth) v4.0.0 · May 2019 · source · release history

example

  • Scan subnet with custom dictionaries docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets 192.168.0.0/24 --custom-credentials "/tmp/dictionaries/credentials.json" --custom-routes "/tmp/dictionaries/routes" --ports…
Port discovery shipped Scans target networks or subnets for open RTSP ports using various backends. 3 releases · 5 other sources · first seen Oct 2016

release

  • Adds masscan as a supported discovery backend option for network scanning v6.1.0 · Feb 2026 · source · release history
  • Supports multi-route stream discovery to detect cameras accepting various route types via a dummy route fallback v5.0.0 · May 2020 · source · release history
  • Adds --port and --subnet command-line arguments to override discovery defaults 1.1.0 · Oct 2016 · source · release history

example

  • Scan a target network using masscan for faster port discovery instead of the default backend. cameradar --backend masscan -t 192.168.1.0/24 v6.1.0 · Feb 2026 · source
  • Scan a specific subnet and port range instead of the default broadcast discovery. cameradar --subnet 192.168.1.0/24 --port 554 1.1.0 · Oct 2016 · source
  • Scan large subnet using masscan docker run --rm -t --net=host ullaakut/cameradar --scanner masscan --targets 192.168.0.0/24 --ports 554,8554
  • Scan localhost for default RTSP ports docker run --rm -t --net=host ullaakut/cameradar --targets localhost
  • Scan subnet for RTSP streams docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
Terminal user interface shipped Provides an interactive TUI with progress tracking and graceful cancellation for monitoring scans. 3 releases · 1 other source · first seen Jan 2026

Also counts toward: Command-line interface

release

  • Improves the TUI mode interface with new layout and interaction enhancements v6.1.0 · Feb 2026 · source · release history
  • Implemented Ctrl+C (SIGINT) handling in TUI mode to gracefully cancel operations v6.0.2 · Feb 2026 · source · release history
  • Adds --ui flag with TUI, plain, and auto modes plus progress tracking v6.0.0 · Jan 2026 · source · release history

example

  • Run the tool in terminal-based interactive mode to monitor progress visually during an attack. cameradar -t 192.168.1.0/24 --ui tui v6.0.0 · Jan 2026 · source
M3U playlist output shipped Generates M3U playlist files containing discovered streams with optional credential encoding. 2 releases · 1 other source · first seen Jan 2026

release

  • M3U playlist URLs now encode credentials directly within the URI structure for secure playback. v6.2.0 · Jun 2026 · source · release history
  • Adds M3U playlist output generation with labels and RTSP URLs v6.0.0 · Jan 2026 · source · release history

example

  • Export discovered streams into an M3U playlist file for use in media players. cameradar -t 192.168.1.0/24 --output m3u -o /tmp/streams.m3u v6.0.0 · Jan 2026 · source
Programmatic API access shipped Provides a Go-based scanner interface allowing scriptable stream discovery, credential attacks, and output generation. 2 releases · 1 other source · first seen May 2019

Also counts toward: Scripting language support

release

  • Scan(), Attack(), and PrintStreams() methods on cameradar.Scanner replace the previous curl-handle based workflow v4.0.0 · May 2019 · source · release history
  • The previous API requiring manual initialization/manipulation of a curl handle and calling 5-6 separate functions is removed in favor of cameradar.Scanner with Scan(), Attack(), and PrintStreams() v4.0.0 · May 2019 · source · release history

example

  • Use the new simplified Scanner API to scan and attack a camera in Go code scanner := cameradar.NewScanner(options) streams, err := scanner.Scan() if err != nil { log.Fatal(err) } attacks, err := scanner.Attack(streams) if err != nil { log.Fatal(err) }… v4.0.0 · May 2019 · source
File input support shipped Allows scanning targets defined in an input file rather than a subnet. 1 release · 2 other sources · first seen Nov 2018

release

  • Adds file input capability to allow batch processing of hosts for easier automation v2.1.0 · Nov 2018 · source · release history

example

  • Scan a list of hosts provided in a text file instead of via command-line arguments cameradar --file /path/to/hosts.txt v2.1.0 · Nov 2018 · source
  • Scan from input file on port 8554 docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets /tmp/test.txt --ports 8554
Stream validation shipped Validates the integrity of discovered streams by verifying frame continuity. 2 releases · first seen Oct 2016

release

  • New framecheck mode validates stream integrity by verifying frame continuity. v6.2.0 · Jun 2026 · source · release history
  • Multithreads thumbnail generation to run one thread per discovered camera 1.1.0 · Oct 2016 · source · release history
Version checking shipped Allows programmatic retrieval of the tool's installed version via a subcommand. 1 release · 1 other source · first seen Feb 2026

Also counts toward: CI/CD pipeline integration, Command-line interface

release

  • Adds a version subcommand to output tool version information programmatically v6.1.0 · Feb 2026 · source · release history

example

  • Check the installed version of cameradar in scripts or CI pipelines. cameradar version v6.1.0 · Feb 2026 · source
Scan timing configuration shipped Allows users to configure the interval between camera discovery scans to control network load and frequency. 1 release · 1 other source · first seen Dec 2019

release

  • scan_interval option added to control the timing between scans v4.1.1 · Dec 2019 · source · release history

example

  • Control the frequency of camera discovery scans to reduce network load. cameradar --scan-interval=10 v4.1.1 · Dec 2019 · source
Tunnel mode shipped Enables scanning of cameras through HTTP tunnels for RTSP stream access. 1 release · first seen Jun 2026

release

  • --tunnel flag now allows scanning cameras using HTTP tunneled RTSP streams. v6.2.0 · Jun 2026 · source · release history
Default URL dictionary shipped Maintains a predefined list of common RTSP stream paths to support cameras with non-standard endpoint configurations. 1 release · first seen Nov 2016

release

  • Adds /ch01.264 to the default URL dictionary to support Comelit cameras with non-standard RTSP paths 1.1.1 · Nov 2016 · source · release history
JUnit XML output shipped Generates JUnit XML test reports containing individual camera results and detailed error information. 1 release · first seen Nov 2016

release

  • Improves JUnit XML output to treat each camera as a distinct test case and includes detailed error information 1.1.1 · Nov 2016 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for cameradar, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail cameradar puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

16 entries

  1. June 20261
  2. February 20262
  3. January 20261
  4. October 20241
  5. March 20221
  6. May 20201
  7. January 20201
  8. December 20191
  9. May 20191
  10. November 20181
  11. November 20161
  12. October 20161
  13. May 20163
    Show

    16 entries

    Project health

    Issue, contributor and maintainer activity in Ullaakut/cameradar, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 5 +4 vs prior 12 months
    2. Maintainers 2 +3 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 40% of issues opened, last 12 months
    5. Median time to close 3.3 years first maintainer reply 7.9 hours
    6. Open backlog 15 of 257 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 15
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 5,211
    Issue themes, last 12 months
    • bugs 17%
    • features 28%
    • questions 9%
    • other 46%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →