ZPK is a network monitoring tool for Windows that watches your network traffic, flags anything unusual, and gives you a clear report. Everything runs locally — no cloud, no accounts, no data leaves your PC.
Download zpk.exe and place it in a folder (e.g. C:\Tools\).
Open a terminal as Administrator, navigate to the folder, and run zpk.exe.
The interactive menu appears. Pick an option by typing its number and pressing Enter.
Windows SmartScreen: The EXE is not code-signed, so Windows may warn you on first run. Click "More info" then "Run anyway." This is normal for unsigned software.
Before your first scan, you need two things:
Npcap is the driver that lets ZPK see network traffic. Without it, ZPK cannot capture packets.
zpk.exe and choose option 8 (Setup & Tools).Or download Npcap yourself from npcap.com.
The GeoIP database tells ZPK where external IPs are located (country, city, organization). It powers the world map and adds geographic context.
zpk.exe and choose option 8 (Setup & Tools).Optional but recommended. Without GeoIP, scans still work — you just won't see location data.
192.168.1.1)ZPK uses four severity levels:
Normal activity logged for awareness. First connection to a new server, uncommon port, long-lived session. Action: Nothing needed.
Unusual but probably fine. Traffic bursts, DNS failures, cleartext data, packet congestion. Action: Glance at it. If you recognize the activity, it's fine.
Could be a problem. Large outbound transfers, one host contacting many destinations, regular timed connections (beaconing). Action: Investigate. Check the process name and destination.
Likely malicious or a serious misconfiguration. SYN floods, port scans across 100+ ports, rogue DHCP servers. Action: Investigate immediately.
Every scan is saved automatically. To review:
zpk.exe sessions
| Format | Best for |
|---|---|
| Client deliverables, printing, emailing | |
| Markdown | Readable text with tables |
| JSON | Programmatic processing, integrations |
| CSV | Spreadsheets (Excel, Google Sheets) |
| TXT | Pasting into emails or tickets |
Hover over any marker to see city, country, organization, and connection count.
ZPK can use a local AI model to assess your scan and give plain-English results. Everything runs on your machine — no cloud, no API keys.
| Your hardware | Model | Download |
|---|---|---|
| GPU 8-12 GB VRAM (RTX 3060/4060/4070) | qwen3:8b | ~5 GB |
| GPU 6 GB or less | qwen3:4b | ~2.5 GB |
| No GPU, 16 GB+ RAM | qwen3:4b | ~2.5 GB |
| No GPU, 8 GB RAM | gemma3:1b | ~1 GB |
ollama pull qwen3:8bChoose option 9 from the menu, or run:
zpk.exe analyze
The AI returns a color-coded assessment: risk level, concerns, normal traffic, actions to take, and a one-line summary.
Get notified via Slack or email when ZPK finds something suspicious. Alerts fire automatically after each scan.
Create a config file by running:
zpk.exe config
This creates config.toml at C:\Users\YourName\.zpk\.
[alerts]
slack_webhook = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL-HERE"
[alerts]
email_to = "you@gmail.com"
email_from = "you@gmail.com"
smtp_host = "smtp.gmail.com"
smtp_port = 587
smtp_user = "you@gmail.com"
smtp_pass = "your-app-password-here"
ZPK works with sensible defaults. To customize:
zpk.exe config # create default config
zpk.exe config --edit # open in Notepad
Allowlist trusted hosts:
[allowlist]
hosts = ["192.168.1.1", "192.168.1.254"]
ports = [53, 80, 443, 8080]
Adjust sensitivity:
[thresholds]
dns_failure_count = 10
high_fanout_hosts = 50
large_egress_bytes = 10000000
Set your map location:
[location]
lat = 40.7128
lon = -74.0060
city = "New York"
Run zpk.exe with no arguments for the interactive menu, or use commands directly:
| Command | Description |
|---|---|
run | Capture and analyze network traffic |
live | Capture with per-packet output |
sessions | Browse saved sessions |
summary | Show report from a saved session |
export | Export to PDF, JSON, CSV, Markdown, TXT |
import | Analyze a .pcap file |
map | World map of connections (--html for browser) |
analyze | AI security assessment via Ollama |
history | Trends across sessions |
diff | Compare two sessions |
baseline | Save or compare traffic baseline |
schedule | Periodic captures via Task Scheduler |
explain | Show all risk tags |
setup | Install Npcap |
interfaces | List network interfaces |
config | View/edit configuration |
geoip-update | Download GeoIP databases |
cleanup | Remove temp files |
uninstall | Remove Npcap and ZPK data |
zpk.exe run --duration 60 --geoip # 60 second scan with GeoIP
zpk.exe run --preset suspicious --duration 120 # Sensitive mode
zpk.exe run --dns-only --duration 60 # DNS traffic only
zpk.exe run --host 192.168.1.100 --duration 60 # Watch specific host
zpk.exe run --external-only --geoip -d 60 # External connections only
zpk.exe interfaces then zpk.exe run --interface "Ethernet"Click "More info" then "Run anyway." This only happens once.
zpk.exe config --edit--preset health flag for balanced thresholds.