A fast, multi-threaded CLI tool for discovering and identifying DVR/NVR web interfaces and security camera devices on a network. It fingerprints devices by brand using signature matching against HTTP responses.
pip install requests urllib3Create a plain text file with one IP per line (port optional):
192.168.1.100
10.0.0.50:8080
172.16.0.1
Basic scan with defaults:
python scanner.py -i targets.txtFaster scan with 20 threads, saving every 5 detections:
python scanner.py -i targets.txt -t 20 --save-interval 5 -o results.jsonSee what's happening under the hood:
python scanner.py -i targets.txt -t 15 -v| Flag | Description | Default |
|---|---|---|
-i, --input |
Path to your IP list file | ips.txt |
-t, --threads |
Number of concurrent worker threads | 10 |
-v, --verbose |
Print detailed logs during scanning | Off |
--save-interval |
Auto-save results every N detections | 10 |
-o, --output |
Path for JSON output file | dvr_scan_results.json |
The scanner produces two files:
results.json — Detailed JSON with full metadata per detected device:
- IP and HTTP status code
- Detected brand/model (e.g. Hikvision, Dahua, Axis)
- Detection method and matched signatures
- Response headers and page title
- Timestamp of detection
results_ips.txt — A clean list of IPs where DVR/NVR devices were found, one per line. Useful for piping into other tools.
- Reads IPs from your input file
- Sends HTTP requests with realistic browser headers to avoid simple blocking
- Discards 400/404 responses immediately
- Matches responses against brand-specific signatures in headers, HTML body, and page titles
- Auto-saves results periodically and on Ctrl+C so you never lose progress mid-scan
Hikvision, Dahua, Uniview, Axis, Hanwha, XMEye, Amcrest, Reolink, MikroTik, Ubiquiti, Synology, and more.
Detection uses strict signature matching to keep false positives low — generic "login page" heuristics are intentionally excluded.
Only scan hosts and networks you are authorized to test. Unauthorized scanning may violate applicable laws or terms of service.
Syn2Much
- Email: dev@sinnners.city
- X: @synacket