bpf echo
1.0.0
bpf-echo es un servidor de eco TCP y UDP ultrarrápido que admite tráfico IPv4 e IPv6. Su implementación aprovecha el filtro de paquetes Berkeley extendido y la colección de compiladores BPF para redirigir los paquetes salientes directamente a la cola de recepción del socket de envío. Es perfecto para evaluar servidores proxy o bibliotecas de red, donde desea asegurarse de que el servidor ascendente no sea un cuello de botella.
Los requisitos para ejecutar bpf-echo
son:
pip3 install pyroute2
python3-bpfcc
en los repositorios de paquetes de Ubuntu. Consulte INSTALL.md de bcc para obtener más detalles.4.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)
La implementación de BPF es bastante simple y, por lo tanto, implica algunos compromisos: