How nikhill969/pcapdroid-analyzer works
PCAPdroid Analyzer is a local FastAPI/SQLite application for importing PCAPdroid CSV exports and exploring traffic without sending data off-device. The main workflow is browser upload → CSV normalization and duplicate handling → storage and aggregate refresh → analysis APIs → dashboard and investigation views. Separate capabilities cover app/domain/DNS/privacy analysis, filtered search and timelines, and configurable overnight analysis with baselines and bursts; session management supports retention and exports. Connections among sampled components follow their visible calls; feature routes and analytics not sampled are included only where documented by the README or tree.
Main entry points: app.js Analyzer UI · database.py SQLite access · analytics.py Analytics engine · import_router.py CSV import API
Components 18
Import and storage
- CSV import API
app/routers/import_router.py - CSV parser
app/services/csv_parser.py - SQLite access
app/database.py - Local SQLite
- Session management
app/routers/session_router.py
Traffic analysis
- Analytics engine
app/services/analytics.py - Dashboard API
app/routers/dashboard_router.py - App analysis API
app/routers/apps_router.py - Domain analysis API
app/routers/domains_router.py - DNS analysis API
app/routers/dns_router.py - Privacy metrics API
app/routers/privacy_router.py - Search API
app/routers/search_router.py
Overnight analysis
- Overnight API
app/routers/overnight_router.py - Overnight engine
app/services/overnight.py
Web interface
- Analyzer UI
static/js/app.js - Web page
templates/index.html - FastAPI application
main.py
Other components
- Local user
Connections 35
- Local user → Analyzer UI: uses
- FastAPI application → Web page: serves
- Web page → Analyzer UI: loads
- Analyzer UI → CSV import API: uploads CSV
- Analyzer UI → Dashboard API: requests views
- Analyzer UI → App analysis API: requests app data
- Analyzer UI → Domain analysis API: requests domain data
- Analyzer UI → DNS analysis API: requests DNS data
- Analyzer UI → Privacy metrics API: requests metrics
- Analyzer UI → Search API: searches traffic
- Analyzer UI → Overnight API: requests night views
- Analyzer UI → Session management: manages sessions
- CSV import API → CSV parser: parses CSV
- CSV import API → Analytics engine: stores and refreshes
- CSV import API → SQLite access: opens connection
- Dashboard API → Analytics engine: queries analytics
- App analysis API → Analytics engine: queries app stats
- Domain analysis API → Analytics engine: queries domain stats
- Domain analysis API → Analytics engine: refreshes aggregates
- DNS analysis API → Analytics engine: queries DNS data
- Privacy metrics API → Analytics engine: queries metrics
- Search API → Analytics engine: searches and timelines
- Dashboard API → SQLite access: opens connection
- App analysis API → SQLite access: opens connection
- Domain analysis API → SQLite access: opens connection
- DNS analysis API → SQLite access: opens connection
- Privacy metrics API → SQLite access: opens connection
- Search API → SQLite access: opens connection
- SQLite access → Local SQLite: reads and writes
- Overnight API → Overnight engine: computes analysis
- Overnight API → SQLite access: opens connection
- Overnight engine → Local SQLite: queries traffic and settings
- Session management → SQLite access: opens connection
- Session management → Overnight engine: exports analysis
- Session management → Analytics engine: refreshes aggregates