Skip to main content

Common Issues

Symptom:
ffplay is not installed.
You can install it by running:
  sudo apt update && sudo apt install ffmpeg
Solution:Install FFmpeg using your package manager:Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
macOS:
brew install ffmpeg
Arch Linux:
sudo pacman -S ffmpeg
Verify installation:
ffplay -version
Symptom:
[+] Testing target: 192.168.1.100:554
[...] Skip
Causes:
  • Target is offline or unreachable
  • Firewall blocking RTSP port (554)
  • Network connectivity issues
  • Target is not an RTSP camera
Solutions:
  1. Verify target is reachable:
    ping 192.168.1.100
    
  2. Check if RTSP port is open:
    nc -zv 192.168.1.100 554
    
    or
    nmap -p 554 192.168.1.100
    
  3. Increase timeout (edit lib/camlib.py:231):
    sock.settimeout(10)  # Increase from 5 to 10 seconds
    
  4. Check firewall rules:
    sudo iptables -L -n | grep 554
    
Symptom:The progress bar completes but no RTSP URL is saved to ./data/ipcam.info.Causes:
  • Camera uses strong passwords not in the dictionary
  • Camera has non-standard username
  • Authentication method not supported
Solutions:
  1. Add custom passwords to the dictionary (edit lib/camlib.py:130-163):
    self.__PASSWORD = [
        '123456',
        'admin',
        'your_custom_password',  # Add here
        # ... rest of passwords
    ]
    
  2. Add custom usernames for specific vendors (edit vendor methods in lib/camlib.py):
    def Hikvision(self):
        users = ['admin', 'root', 'supervisor', 'custom_user']  # Add here
        # ...
    
  3. Verify camera vendor is detected correctly:
    • Check console output for detected vendor
    • If “Unknown or clone device detected”, the camera may use non-standard paths
Symptom:
[!] Query error....
Causes:
  • Invalid API key
  • API quota exceeded
  • Malformed query parameters
  • Network connectivity issues
Solutions:
  1. Verify API key:
    python3 bloodcat.py --key YOUR_KEY --country US --city "New York" --region NY
    
  2. Check API response manually:
    import requests
    import base64
    
    query = 'country="US" && banner="RTSP/1.0" && protocol="rtsp"'
    qbase64 = base64.b64encode(query.encode()).decode()
    url = f"https://fofa.info/api/v1/search/all?key=YOUR_KEY&qbase64={qbase64}"
    
    response = requests.get(url)
    print(response.text)
    
  3. Check quota:
    • Log into your FoFa account
    • Check remaining API credits
  4. Use direct IP instead:
    python3 bloodcat.py --ip 192.168.1.100:554
    
Symptom:
File ./data/ipcam.info not found!
Causes:
  • BloodCat hasn’t been run yet
  • No cameras were successfully cracked
  • Running from wrong directory
Solutions:
  1. Run BloodCat first:
    python3 bloodcat.py --ip 192.168.1.100:554
    
  2. Verify file exists:
    ls -la ./data/ipcam.info
    
  3. Check if file is empty:
    cat ./data/ipcam.info
    
  4. Ensure you’re in the correct directory:
    pwd  # Should be in BloodCat root directory
    
Symptom:
PermissionError: [Errno 13] Permission denied: './data/ipcam.info'
or
bash: ./play.sh: Permission denied
Solutions:
  1. Make scripts executable:
    chmod +x bloodcat.py play.sh
    
  2. Fix directory permissions:
    chmod 755 ./data
    chmod 644 ./data/ipcam.info
    
  3. Run with proper permissions:
    python3 bloodcat.py --ip 192.168.1.100:554
    bash play.sh
    
Symptom:ffplay opens but shows black screen, error, or immediately closes.Causes:
  • Invalid RTSP URL
  • Camera credentials changed
  • Network connectivity lost
  • Codec not supported
Solutions:
  1. Test URL manually:
    ffplay -rtsp_transport tcp "rtsp://admin:[email protected]:554/live.sdp"
    
  2. Try UDP transport:
    ffplay -rtsp_transport udp "rtsp://admin:[email protected]:554/live.sdp"
    
  3. Check with VLC:
    vlc "rtsp://admin:[email protected]:554/live.sdp"
    
  4. Verify camera is still accessible:
    nc -zv 192.168.1.100 554
    
  5. Check ffplay logs:
    ffplay -rtsp_transport tcp -loglevel debug "rtsp://..."
    
Symptom:play.sh opens dozens of windows and system becomes slow.Solution:
  1. Stop all ffplay instances:
    pkill ffplay
    
  2. Limit URLs in ipcam.info:
    head -n 10 ./data/ipcam.info > ./data/ipcam_subset.info
    
    Then edit play.sh to use ipcam_subset.info instead.
  3. Add delay between streams (edit play.sh:36):
    sleep 2  # Increase from 1 to 2 seconds
    

Network Issues

Firewall Configuration

If you’re scanning cameras on a local network, ensure:
  1. Outbound RTSP allowed:
    sudo iptables -A OUTPUT -p tcp --dport 554 -j ACCEPT
    
  2. Check if firewall is blocking:
    sudo iptables -L -n -v | grep 554
    

VPN/Proxy Issues

RTSP streaming may not work properly through some VPNs or proxies.
Disable VPN temporarily if you experience connectivity issues.

Getting Help

Enable Debug Output

Edit lib/camlib.py to add more verbose output:
def __rtsp_path_bruteforce(self, ip, port, paths, usernames):
    print(f"[DEBUG] Testing {len(usernames)} users, {len(self.__PASSWORD)} passwords, {len(paths)} paths")
    print(f"[DEBUG] Total combinations: {len(usernames) * len(self.__PASSWORD) * len(paths)}")
    # ... rest of method

Check Python Version

BloodCat requires Python 3:
python3 --version
Minimum supported version: Python 3.6+

Report Issues

If you encounter a bug, report it at: GitHub: https://github.com/MartinxMax/BloodCat Include:
  • Python version
  • Operating system
  • Full error message
  • Command used
  • Network configuration (if relevant)
Remember: BloodCat is an ethical security research tool. Only use it on systems you own or have explicit permission to test.

Build docs developers (and LLMs) love