Skip to content

Networking and Systems Projects

C, C++, eBPF, and Python projects in networking, packet analysis, kernel tracing, and security. Sorted by contributor friendliness.

eBPF and Kernel Tracing

bpftrace - High-Level Tracing Language

Repobpftrace/bpftrace
Stars9.9k
LanguageC++
Good First Issues22 open
What it doesHigh-level tracing language for Linux eBPF, inspired by awk and DTrace
Why contributeBest entry point for eBPF. 22 good-first-issues. Excellent docs.
Entry pointsNew tracing probes, language features, bug fixes, docs
RequiresLinux, C++ basics, interest in kernel internals

BCC - BPF Compiler Collection

Repoiovisor/bcc
Stars22.2k
LanguageC + Python
Good First Issues1 open
What it doesToolkit for creating eBPF-based kernel tracing and manipulation programs
Why contributeFoundational eBPF project. Write kernel probes in C, frontends in Python.
Entry pointsNew tools, Python wrappers, documentation
RequiresLinux 4.1+, C basics, Python

Cilium - eBPF Networking for Kubernetes

Repocilium/cilium
Stars23.6k
LanguageGo + C (eBPF)
Good First Issues0
CNCFGraduated
What it doeseBPF-powered networking, security, and observability for Kubernetes
Why contributeIndustry-leading CNI. Combines Go (control plane) with C (datapath eBPF).
ChallengeLarge codebase, no labeled beginner issues. Requires deep K8s networking knowledge.

Falco - Runtime Security

Repofalcosecurity/falco
Stars8.6k
LanguageC++
Good First Issues0
CNCFGraduated
What it doesDetects anomalous activity in containers using eBPF/kernel syscall monitoring
Why contributeSecurity-focused. The Go SDK and Falco rules are easier entry points than the C++ core.
Entry pointsDetection rules (YAML), Go SDK plugins, docs

libbpf - eBPF Library

Repolibbpf/libbpf
Stars2.6k
LanguageC
What it doesCore library for loading and interacting with eBPF programs (used by bpftrace, Cilium, etc.)
Why contributeLow-level kernel interface. Deep learning opportunity. Small focused codebase.
ChallengeRequires strong C and Linux kernel understanding.

Packet Capture and Analysis

nmap - Network Scanner

Reponmap/nmap
Stars12.3k
LanguageC/C++ + Lua
Good First Issues5 open
What it doesNetwork discovery and security auditing tool
Why contributeLegendary tool. NSE scripts (Lua) are an easy entry point.
Entry pointsNSE scripts, bug fixes, documentation

Netdata - Real-Time Monitoring

Reponetdata/netdata
Stars77.6k
LanguageC
Good First Issues0
What it doesReal-time performance and health monitoring for systems and applications
Why contributeMassive project, C-heavy. Collectors and plugins are easier entry points.

Suricata - IDS/IPS

RepoOISF/suricata
Stars6k
LanguageC
What it doesHigh-performance IDS, IPS, and network security monitoring engine
Why contributeDeep packet inspection, protocol detection. Core network security tool.

PcapPlusPlus - Packet Parsing Library

Reposeladb/PcapPlusPlus
Stars3.1k
LanguageC++
What it doesMulti-platform C++ library for capturing, parsing, and crafting network packets
Why contributeClean C++ codebase, good docs. Supports AF_XDP/eBPF sockets.
Entry pointsProtocol parsers, platform support, docs

tcpdump and libpcap

Repothe-tcpdump-group/tcpdump / libpcap
Stars3.1k / 3k
LanguageC
What it doesThe standard packet capture tools for Unix systems
Why contributeFoundational networking tools. Deep protocol knowledge.

Scapy - Packet Manipulation (Python)

Reposecdev/scapy
Stars12k
LanguagePython
What it doesInteractive packet manipulation library and tool
Why contributePython-based, great for learning protocols. Can craft, send, sniff, decode packets.

mitmproxy - HTTPS Proxy (Python)

Repomitmproxy/mitmproxy
Stars42.1k
LanguagePython
What it doesInteractive HTTPS proxy for debugging, testing, and penetration testing
Why contributeTLS interception, HTTP/2, WebSocket support. Excellent learning tool.

Learning Resources

ResourceURL
Learning eBPF (Liz Rice)github.com/lizrice/learning-ebpf
Awesome eBPFgithub.com/zoidyzoidzoid/awesome-ebpf
eBPF.ioebpf.io
eBPF Applicationsebpf.io/applications

Released under the MIT License.