Sobre el proyecto
pybpf_asm es una implementación en Python del ensamblador BPF originalmente presente en las fuentes del kernel de Linux. Permite a los desarrolladores escribir código ensamblador BPF y ensamblarlo en bytecode BPF ejecutable.
La instalación puede realizarse mediante wheels precompilados de PyPI, o bien compilando desde el código fuente. La compilación requiere una versión reciente de Flex y Bison. En Windows, los usuarios pueden instalar winflexbison, mientras que en macOS (y Linux antiguo) pueden obtener estas herramientas a través de Homebrew y asegurarse de que aparezcan al inicio del PATH.
El uso típico consiste en importar el módulo bpf_asm e invocar su función assemble con una cadena que contenga instrucciones de ensamblador BPF. Por ejemplo:
import bpf_asm
ASM = """
ldh [12]
jeq #0x800, accept, drop
accept:
ret #65536
drop:
ret #0
"""
print(bpf_asm.assemble(ASM))
El proyecto también proporciona una utilidad de línea de comandos llamada pybpf_asm que puede invocarse directamente. La documentación detallada está disponible en las GitHub Pages del proyecto.
El software se distribuye bajo la licencia GPL-2.0-only, que exige que las obras derivadas también se distribuyan bajo la misma licencia.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.