bpf echo
1.0.0
bpf-echo adalah server gema TCP & UDP yang sangat cepat yang mendukung lalu lintas IPv4 dan IPv6. Implementasinya memanfaatkan Berkeley Packet Filter dan BPF Compiler Collection yang diperluas untuk mengarahkan paket keluar langsung kembali ke antrian penerimaan soket pengirim. Ini sempurna untuk melakukan benchmarking pada server proxy, atau pustaka jaringan, di mana Anda ingin memastikan bahwa server upstream tidak mengalami hambatan.
Persyaratan untuk menjalankan bpf-echo
adalah:
pip3 install pyroute2
python3-bpfcc
di repositori paket Ubuntu. Lihat INSTALL.md bcc untuk lebih jelasnya4.1
$ sudo ./bpf-echo --ipv4 127.0.0.1 --port 1122 # run in different terminal
$ echo "hello" | nc -W1 127.0.0.1 1122
hello
usage: bpf-echo.py [-h] [--ipv4 IPV4] [--ipv6 IPV6] [--port PORT]
[--ifname IFNAME]
optional arguments:
-h, --help show this help message and exit
--ipv4 IPV4 IPv4 address that will reflect packets. Disabled if empty
string. (default: 127.0.0.1)
--ipv6 IPV6 IPv6 address that will reflect packets. Disabled if empty
string. (default: )
--port PORT TCP/UDP destination port that will reflect packets.
(default: 12345)
--ifname IFNAME Interface the eBPF classifier will be loaded on. (default:
lo)
Penerapan BPF agak sederhana, sehingga memerlukan beberapa kompromi: