feat(netflow): flow detail enhancements #975
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar#975
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub.
Original GitHub issue: #2746
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2746
Original created: 2026-02-09T03:55:46Z
Is your feature request related to a problem?
In the flow details modal view, we should be mapping protocol numbers to strings/services:
https://datatracker.ietf.org/doc/html/rfc5237
Should be done in
web-ngUI layer with a simple mapMapping the protocol numbers to IANA names is a great first step. Since you are looking to enhance the analyst's experience, here are several high-value enrichments you can add to this view, specifically focusing on TCP flags and flow context.
1. Decoding TCP Flags
The current view shows
tcp_flags: 0. For TCP flows, this is usually a cumulative bitmask of all flags seen during the life of the flow. Showing the integer is difficult for humans to parse; you should decode it into readable string badges.0x01(1): FIN0x02(2): SYN0x04(4): RST0x08(8): PSH0x10(16): ACK0x20(32): URG0x40(64): ECE0x80(128): CWR18(SYN+ACK), show:[SYN] [ACK].SYNwithout anACKandbytes_out: 0, you can automatically flag it as a "Connection Attempt" or "Potential Scan."2. Service/Port Mapping
Your Destination Port is
9000.9000, add(Portainer / Ceph / VPP). This immediately tells the analyst if the traffic is expected (e.g., "Why is our backup server talking to a web UI port?").3. Flow Directionality & State
Looking at your Volume section, there is a major clue:
bytes_in: 25,032,326butbytes_out: 0.4. MAC Address (OUI) Lookup
You have the MAC addresses:
5c:83:82:ca:cf:e6andf4:92:bf:75:c7:29.5c:83:82belongs to DigitalOcean (KVM/QEMU Virtual NIC). Knowing the hardware manufacturer helps verify if the device is what it claims to be (e.g., seeing "Apple" on a server IP would be a red flag).5. Advanced Security Enrichment
AS14061 (DigitalOcean). Add a classification label like "Hosting/Data Center". Traffic coming from "Hosting" vs. "Consumer ISP" carries very different risk profiles.192.168.2.22, if you have an internal CMDB or DHCP logs, resolve this to a Hostname (e.g.,PROD-DB-01) and OS Type.6. Throughput Calculation
Since you have total bytes and (presumably) a flow duration from the raw fields:
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.