It goes without saying that this is solely intended to demonstrate privacy violations that exist even with strongly-encrypted video, not a tool for you to use to stalk people. If this seems invasive and dangerous to you, then use that feeling to motivate you to remove your cloud-connected cameras.
To prevent misuse (and keep my attorneys happy), this tool is designed and intentionally limited to be used on your own network with your own Ring cameras. It assumes that you have captured a PCAP file via Wireshark, your router, or however you choose to do so. It also assumes that you have identified the IP address of your IP camera and your phone, PC, or whatever device you use to monitor your IP camera.
To set up and run the MonitoRing script, you need two main components: the Python environment to run the code and the TShark engine to "read" the network data.
1. Prerequisites (Both Mac & Windows) Before running the script, you must have the following installed:
-
Python 3.10 or higher: Download it from python.org. During Windows installation, ensure you check the box that says "Add Python to PATH."
-
Wireshark: The script uses TShark, which is the command-line version of Wireshark. Download it from wireshark.org, it's free.
-
Windows Users: During the Wireshark installation, make sure the "TShark" component is selected.
-
**Mac Users: **During installation, ensure you allow the installer to "Install ChmodBPF" and "Add Wireshark to the system path."
2a. Windows Setup
-
Create a folder on your Desktop named RingAudit. Place your MonitoRIng.py script and your .pcap file inside this folder.
-
Open Terminal: Press the Windows Key, type "PowerShell", and press Enter.
-
Navigate to the Folder:
PowerShell
cd ~\Desktop\RingAudit
- ** **Create a Virtual Environment: (This keeps your project clean)
PowerShell
python -m venv venv
.\venv\Scripts\activate
- Install Dependencies:
PowerShell
pip install pyshark
2b. macOS Setup
-
Create a Folder: Create a folder on your Desktop named RingAudit. Place your script and .pcap file inside.
-
Open Terminal: Press Cmd + Space, type Terminal, and press Enter.
-
Navigate to the Folder:
Bash
cd ~/Desktop/RingAudit
- Create a Virtual Environment:
Bash
python3 -m venv venv
source venv/bin/activate
- Install Dependencies:
Bash
pip install pyshark
4. Running the Tool
Once your environment is set up and activated (you should see (venv) at the start of your command line). You should do some reading up on virtual environments as it'll make this (and your life) much easier!
Run the script:
python MonitoRing.py
The script will prompt you for:
-
The File Path: You can simply drag and drop the .pcap file into the terminal window to auto-fill the path.
-
The IP Address: Enter the IP of the camera (e.g., 172.16.42.163).
-
The Threshold: Press Enter to accept the default 500 KB/s. This can change depending on the camera, network, and WiFi signal.
5. Troubleshooting Common Issues
"TShark not found": This is common on Windows. If the script crashes, you may need to tell Python exactly where TShark is located. You can add this line to the top of your script:
pyshark.tshark.tshark.get_tshark_path = lambda: r"C:\Program Files\Wireshark\tshark.exe"
Permission Denied (Mac): If you get a permission error on macOS, you may need to run:
sudo chown $USER /dev/bpf*
Empty CSV: Ensure the IP address you entered matches the IP address seen in the "Source" or "Destination" columns when you open the file in the standard Wireshark app.