Real-time Packet Capture/Filter Server
Budget: $10 – $500 USD
I have a licenses for OpenVPN. I’m running an OpenVPN server on Linux and I want to extend its functionality so that it can mirror what Wireshark does—only directly inside the VPN daemon. Concretely, I need the server to watch every incoming and outgoing packet in real time, let me flag any individual packet for discard on-the-fly, and then log the full details of anything that gets dropped. All traffic types—TCP, UDP, ICMP, or anything else encapsulated in the tunnel—must be handled the same way.
Here’s the flow I have in mind:
1. As packets traverse the VPN interface, they are captured live.
2. A user-level controller (CLI, TUI, or lightweight web UI—happy to discuss) displays them much like a scrolling Wireshark capture.
3. When I mark a packet “discard,” the server halts its delivery immediately, while still writing a timestamped entry to a log for later analysis. No alert needs to be sent, just the log.
I don’t have a hard preference on implementation language; choose whatever integrates cleanly with OpenVPN and performs well on Linux—C/C++, Python, Go, or a mix via shared libraries are all acceptable. Kernel-space patches are fine if truly necessary, but I would prefer to stay in user space if performance allows.
Deliverables (acceptance criteria)
• Patched or wrapper code for OpenVPN that performs the live capture and selective drop behaviour.
• A minimal interface that lets me see packets and click / command “discard.”
• Logging module that records each dropped packet’s headers, timestamp, and reason.
• Build/installation instructions and a short README so I can reproduce the setup on another Linux box.
The interface (API) must be in python
Here’s the flow I have in mind:
1. As packets traverse the VPN interface, they are captured live.
2. A user-level controller (CLI, TUI, or lightweight web UI—happy to discuss) displays them much like a scrolling Wireshark capture.
3. When I mark a packet “discard,” the server halts its delivery immediately, while still writing a timestamped entry to a log for later analysis. No alert needs to be sent, just the log.
I don’t have a hard preference on implementation language; choose whatever integrates cleanly with OpenVPN and performs well on Linux—C/C++, Python, Go, or a mix via shared libraries are all acceptable. Kernel-space patches are fine if truly necessary, but I would prefer to stay in user space if performance allows.
Deliverables (acceptance criteria)
• Patched or wrapper code for OpenVPN that performs the live capture and selective drop behaviour.
• A minimal interface that lets me see packets and click / command “discard.”
• Logging module that records each dropped packet’s headers, timestamp, and reason.
• Build/installation instructions and a short README so I can reproduce the setup on another Linux box.
The interface (API) must be in python