What is IoT Inspector? An open-source tool for capturing, analyzing, and visualizing the network activities of your smart home devices. It does not require special hardware or changes to your network. Simply run IoT Inspector and you'll see the results instantly.
You can use IoT Inspector to
IoT Inspector is a research project by researchers from New York University. See our main website and documentation for more information. Also see screenshots.
⬇️ Download:
🔥 What's new in Version 2: We released Version 1 in 2019. Since then, we have had 7K+ users who have donated the network traffic from 65K+ devices. We recently launched Version 2 with the following changes:
🗞️ Media coverage: See articles about IoT Inspector in the press (all paywalls removed):
New York Times: Why You Should Take a Close Look at What Tracks You. It might help you manage your privacy.
National Public Radio: Your Smart TV Is Watching You.
Washington Post: You watch TV. Your TV watches back.
Gizmodo: This Simple Tool Will Reveal the Secret Life of Your Smart Home
TechCrunch: Spy on your smart home with this open source research tool
See this page if you want to run our precompiled binaries.
You will need Python and Git already set up on your system. You'll also need to be familiar with terminals.
Run the following in your terminal:
git clone https://github.com/nyu-mlab/iot-inspector-client.git
cd iot-inspector-client
python3 -m venv env
source env/bin/activate
pip install -r requirements-general.txt
To run, do the following
source env/bin/activate
cd ui
./start.bash
Run the following in your terminal:
git clone https://github.com/nyu-mlab/iot-inspector-client.git
cd iot-inspector-client
python.exe -m venv env
env/Script/activate.bat
pip install -r requirements.txt
If you have a more modern version of Python (say Python 3.11), try replacing the last line above with:
pip install -r requirements-general.txt
To run, do the following in an terminal with administrator's priviledge:
env/Script/activate.bat
cd ui
streamlit.exe run Device_List.py --server.port 33761 --browser.gatherUsageStats false --server.headless true --server.baseUrlPath "inspector_dashboard"
To learn how Inspector scans the network and captures the traffic, look at the core/start.py
file. The relevant modules include arp_scanner.py
, arp_spoofer.py
, and packet_*.py
.
To learn how Inspector constructs the user interface, follow the ui/start.bash
command.
For details, see our documentation.
We are still revising the documentation and fixing bugs for IoT Inspector 2. We'd love to hear from you! Here's how to contact us. Also, here's more information about the IoT Inspector team.