Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setka Banner Typing SVG

Go libpcap Status

What is Setka

Setka ("network" in Russian, internally still module-named netviz) captures live TCP/UDP traffic on an interface, aggregates it into flows, and streams them to a browser over WebSocket in real time. Unlike the other early-stage tools in this account, the full pipeline actually runs end-to-end today.

Status

Stage Today Planned
Capture (internal/capture) ✅ Real libpcap capture, BPF-filtered to TCP/UDP
Enrich (internal/enricher) ⚠️ Direction detection is real; process-name attribution is a hardcoded port lookup (e.g. 443 → "browser") Real process lookup via OS APIs
Process (internal/processor) ✅ Real flow aggregation, idle-flow cleanup every 60s
API (internal/api) ✅ Real WebSocket broadcast to connected browser clients REST endpoints alongside the socket
Web UI ✅ Minimal static page DNS reverse resolution, GeoIP, D3.js flow graph

Quickstart

# macOS: brew install libpcap   ·   Linux: sudo apt-get install libpcap-dev
git clone https://github.com/NoamFav/Setka && cd Setka
go mod download

sudo go run cmd/netviz/main.go        # requires root for packet capture
sudo go run cmd/netviz/main.go -i en0 # or target a specific interface

# then open http://localhost:8080

Tip

Run curl google.com in another terminal while the server is up — the flow should appear in the web UI within a second.

Footer typing

Made with ♥ by NoamFav

About

Real-time network flow visualizer — packet capture to WebSocket to browser works end-to-end; process attribution is still mocked.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages