A beginner-friendly, full-stack application that analyzes public WiFi network security risks and explains potential threats to users. Built for educational purposes, such as a college expo or project presentation.
- Modern Dashboard: Dark-themed UI with clean visualizations.
- Risk Scoring Algorithm: Evaluates networks based on encryption type and signal strength.
- Interactive Chart: Visualizes risk distribution across detected networks using Chart.js.
- Detailed Threat Analysis: Explains why a network is risky, what an attacker could do, and provides actionable recommendations.
- Animated Risk Meter: A visual indicator of how dangerous a specific network is.
- Frontend: HTML5, CSS3, Vanilla JavaScript, Chart.js (via CDN)
- Backend: Python 3, Flask
- Data: Local JSON dataset (No database required, beginner-friendly)
- Python 3.6+ installed on your system.
- Open a terminal and navigate to this project's directory (
wifi_analyzer). - (Optional but recommended) Create and activate a virtual environment:
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
- Install Flask:
pip install flask
- Run the Application:
python app.py
- Open your browser and go to
http://127.0.0.1:5000.
The backend reads sample WiFi data from data/networks.json. It calculates a risk score (0-100) based on these rules:
- OPEN: +70 (Very High Risk - No encryption, data sent in plain text)
- WEP: +50 (High Risk - Old, easily crackable encryption)
- WPA2: +20 (Medium Risk - Standard encryption, generally safe but vulnerable to dictionary attacks if weak password)
- WPA3: +5 (Low Risk - Modern, robust encryption)
- Strong Signal (> -50 dBm): +10 (Potentially an "Evil Twin" attacker trying to overpower the real network signal)
Final Verdict:
- 0-30: Safe (Green)
- 31-70: Medium (Yellow)
- 71+: Dangerous (Red)
-
The Hook (The Problem):
"Have you ever connected to a free airport or coffee shop WiFi? Hackers often set up fake networks with the same name (an 'Evil Twin'). If you connect, all your unencrypted data like passwords and messages can be stolen."
-
The Solution (Your Project):
"This is the Smart Public WiFi Security Analyzer. It scans nearby networks and uses a rule-based algorithm to assign a risk score from 0 to 100 based on the encryption protocol and signal strength."
-
Demonstrate:
[Click 'Scan Networks'] "As you can see, our system identifies safe WPA3 networks in green, but flags OPEN networks like 'Airport_Free' in red as highly dangerous."
-
Deep Dive:
[Click 'Analyze' on a red network] "When we analyze a high-risk network, the system doesn't just give a score—it explains the exact threats, like Man-in-the-Middle attacks, and recommends immediate actions like using a VPN."
-
Behind the Scenes:
"It's built with a Python Flask backend and a vanilla JavaScript frontend, meaning it's lightweight, fast, and educational. It teaches users not just which networks to avoid, but WHY they should avoid them."