2023-09-14 22:49:19 +08:00
2023-09-11 21:43:10 +08:00
2023-09-09 22:46:14 +08:00
2023-09-01 22:06:00 +08:00
2023-09-14 22:49:19 +08:00
2023-09-09 22:09:55 +08:00
2023-09-01 22:06:00 +08:00
2023-09-11 21:43:10 +08:00
2023-09-14 22:49:19 +08:00
2023-09-11 21:43:10 +08:00
2023-09-14 22:49:19 +08:00
2023-09-14 22:49:19 +08:00
2023-09-11 21:43:10 +08:00
2023-09-09 22:10:25 +08:00
2023-09-11 21:43:10 +08:00

Prism

Prism is an eBPF-Based interface generator that captures the HTTP traffic of Ingress and Egress through TC and passes it to the user mode through ringbuf to assemble complete data.

Run

  • Kernel >= 5.8.0

operating run

device_name, replace with the name of the network device the program is attached to (e.g. eth0)

prism -n <device_name>

docker run

docker run --net host --privileged --name prism -itd zmosquito/prism:v0.0.1 ./prism -n <device_name>

How to compile

require

  • Kernel >= 5.8.0
  • LLvm >= 14
  • Clang >= 14
  • Golang >= 1.18
  • Cmake
# Ubuntu 22.04
apt-get install linux-kernel-headers linux-headers-$(uname -r)
apt-get update && apt-get install -y make clang-14 llvm-14 libc6-dev libc6-dev-i386 libz-dev libelf-dev libbpf-dev iproute2 && apt-get clean
ln -s $(which clang-14) /usr/bin/clang && ln -s $(which llc-14) /usr/bin/llc

compile

make build

docker

compile by docker

docker run --rm  -v /root/prism:/root/prism ghcr.io/cilium/ebpf-builder:1694533004 bash -c "cd /root/prism && make build"
Description
eBPF-based API Interface Builder
Readme Apache-2.0 5.7 MiB
Languages
JavaScript 93.6%
C 5.6%
Go 0.7%