├── .gitignore ├── .golangci.yml ├── LICENSE ├── README.md ├── go.mod ├── go.sum ├── workshop1 ├── Dockerfile ├── README.md ├── capture-traffic │ ├── main.go │ └── sourcecode.c ├── client │ └── run.sh ├── demo-server │ └── main.go ├── docs │ ├── capture_http.png │ └── client_example.png ├── internal │ ├── bpfwrapper │ │ ├── kprobes.go │ │ └── perfbufferreaders.go │ ├── connections │ │ ├── factory.go │ │ └── tracker.go │ ├── settings │ │ └── clock.go │ └── structs │ │ ├── enums.go │ │ └── structs.go └── setup_docker.sh ├── workshop2 ├── README.md ├── client │ └── run.sh ├── resources │ └── demo.png ├── setup_docker.sh ├── xdp_prog.c └── xdp_runner.go ├── workshop3 ├── Dockerfile ├── README.md ├── cmd │ ├── demo-server │ │ └── main.go │ └── sniffer │ │ ├── clean.c │ │ ├── main.go │ │ └── solution.c ├── docs │ ├── capture_http.png │ └── client_example.png ├── internal │ ├── bpfwrapper │ │ ├── kprobes.go │ │ └── perfbufferreaders.go │ ├── connections │ │ ├── factory.go │ │ └── tracker.go │ ├── privileges │ │ └── privileges.go │ ├── settings │ │ ├── clock.go │ │ └── log.go │ ├── structs │ │ ├── enums.go │ │ └── structs.go │ └── utils │ │ └── net.go └── setup_docker.sh ├── workshop4 ├── README.md ├── cmd │ └── watcher │ │ ├── main.go │ │ └── watcher.c └── internal │ ├── bpfwrapper │ ├── kprobes.go │ └── perfbufferreaders.go │ ├── privileges │ └── privileges.go │ └── settings │ └── clock.go └── workshop5 ├── README.md ├── cmd ├── sniffer │ ├── main.go │ └── tls_capture.c └── tls_server │ ├── README.md │ ├── certs │ ├── cert.pem │ └── key.pem │ └── echo_server.py └── internal ├── bpfwrapper ├── perfbufferreaders.go └── uprobes.go ├── privileges └── privileges.go └── settings └── clock.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/README.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/go.sum -------------------------------------------------------------------------------- /workshop1/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/Dockerfile -------------------------------------------------------------------------------- /workshop1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/README.md -------------------------------------------------------------------------------- /workshop1/capture-traffic/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/capture-traffic/main.go -------------------------------------------------------------------------------- /workshop1/capture-traffic/sourcecode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/capture-traffic/sourcecode.c -------------------------------------------------------------------------------- /workshop1/client/run.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | curl -X POST -v localhost:8080/customResponse -d '{"size": 10000}' 4 | -------------------------------------------------------------------------------- /workshop1/demo-server/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/demo-server/main.go -------------------------------------------------------------------------------- /workshop1/docs/capture_http.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/docs/capture_http.png -------------------------------------------------------------------------------- /workshop1/docs/client_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/docs/client_example.png -------------------------------------------------------------------------------- /workshop1/internal/bpfwrapper/kprobes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/bpfwrapper/kprobes.go -------------------------------------------------------------------------------- /workshop1/internal/bpfwrapper/perfbufferreaders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/bpfwrapper/perfbufferreaders.go -------------------------------------------------------------------------------- /workshop1/internal/connections/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/connections/factory.go -------------------------------------------------------------------------------- /workshop1/internal/connections/tracker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/connections/tracker.go -------------------------------------------------------------------------------- /workshop1/internal/settings/clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/settings/clock.go -------------------------------------------------------------------------------- /workshop1/internal/structs/enums.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/structs/enums.go -------------------------------------------------------------------------------- /workshop1/internal/structs/structs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/internal/structs/structs.go -------------------------------------------------------------------------------- /workshop1/setup_docker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop1/setup_docker.sh -------------------------------------------------------------------------------- /workshop2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/README.md -------------------------------------------------------------------------------- /workshop2/client/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/client/run.sh -------------------------------------------------------------------------------- /workshop2/resources/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/resources/demo.png -------------------------------------------------------------------------------- /workshop2/setup_docker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/setup_docker.sh -------------------------------------------------------------------------------- /workshop2/xdp_prog.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/xdp_prog.c -------------------------------------------------------------------------------- /workshop2/xdp_runner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop2/xdp_runner.go -------------------------------------------------------------------------------- /workshop3/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/Dockerfile -------------------------------------------------------------------------------- /workshop3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/README.md -------------------------------------------------------------------------------- /workshop3/cmd/demo-server/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/cmd/demo-server/main.go -------------------------------------------------------------------------------- /workshop3/cmd/sniffer/clean.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/cmd/sniffer/clean.c -------------------------------------------------------------------------------- /workshop3/cmd/sniffer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/cmd/sniffer/main.go -------------------------------------------------------------------------------- /workshop3/cmd/sniffer/solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/cmd/sniffer/solution.c -------------------------------------------------------------------------------- /workshop3/docs/capture_http.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/docs/capture_http.png -------------------------------------------------------------------------------- /workshop3/docs/client_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/docs/client_example.png -------------------------------------------------------------------------------- /workshop3/internal/bpfwrapper/kprobes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/bpfwrapper/kprobes.go -------------------------------------------------------------------------------- /workshop3/internal/bpfwrapper/perfbufferreaders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/bpfwrapper/perfbufferreaders.go -------------------------------------------------------------------------------- /workshop3/internal/connections/factory.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/connections/factory.go -------------------------------------------------------------------------------- /workshop3/internal/connections/tracker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/connections/tracker.go -------------------------------------------------------------------------------- /workshop3/internal/privileges/privileges.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/privileges/privileges.go -------------------------------------------------------------------------------- /workshop3/internal/settings/clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/settings/clock.go -------------------------------------------------------------------------------- /workshop3/internal/settings/log.go: -------------------------------------------------------------------------------- 1 | package settings 2 | 3 | var ( 4 | DebugLog = false 5 | ) 6 | -------------------------------------------------------------------------------- /workshop3/internal/structs/enums.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/structs/enums.go -------------------------------------------------------------------------------- /workshop3/internal/structs/structs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/structs/structs.go -------------------------------------------------------------------------------- /workshop3/internal/utils/net.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/internal/utils/net.go -------------------------------------------------------------------------------- /workshop3/setup_docker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop3/setup_docker.sh -------------------------------------------------------------------------------- /workshop4/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/README.md -------------------------------------------------------------------------------- /workshop4/cmd/watcher/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/cmd/watcher/main.go -------------------------------------------------------------------------------- /workshop4/cmd/watcher/watcher.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/cmd/watcher/watcher.c -------------------------------------------------------------------------------- /workshop4/internal/bpfwrapper/kprobes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/internal/bpfwrapper/kprobes.go -------------------------------------------------------------------------------- /workshop4/internal/bpfwrapper/perfbufferreaders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/internal/bpfwrapper/perfbufferreaders.go -------------------------------------------------------------------------------- /workshop4/internal/privileges/privileges.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/internal/privileges/privileges.go -------------------------------------------------------------------------------- /workshop4/internal/settings/clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop4/internal/settings/clock.go -------------------------------------------------------------------------------- /workshop5/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/README.md -------------------------------------------------------------------------------- /workshop5/cmd/sniffer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/sniffer/main.go -------------------------------------------------------------------------------- /workshop5/cmd/sniffer/tls_capture.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/sniffer/tls_capture.c -------------------------------------------------------------------------------- /workshop5/cmd/tls_server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/tls_server/README.md -------------------------------------------------------------------------------- /workshop5/cmd/tls_server/certs/cert.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/tls_server/certs/cert.pem -------------------------------------------------------------------------------- /workshop5/cmd/tls_server/certs/key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/tls_server/certs/key.pem -------------------------------------------------------------------------------- /workshop5/cmd/tls_server/echo_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/cmd/tls_server/echo_server.py -------------------------------------------------------------------------------- /workshop5/internal/bpfwrapper/perfbufferreaders.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/internal/bpfwrapper/perfbufferreaders.go -------------------------------------------------------------------------------- /workshop5/internal/bpfwrapper/uprobes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/internal/bpfwrapper/uprobes.go -------------------------------------------------------------------------------- /workshop5/internal/privileges/privileges.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/internal/privileges/privileges.go -------------------------------------------------------------------------------- /workshop5/internal/settings/clock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataDog/ebpf-training/HEAD/workshop5/internal/settings/clock.go --------------------------------------------------------------------------------