[eside-ghost] Compilación estática

Alfredo Beaumont alfredo.beaumont en gmail.com
Lun Abr 14 08:36:12 CEST 2008


Ig, 2008eko Apiren 13a(e)an, Jon Urionaguena(e)k idatzi zuen:
> Aupi,
>
> A ver si hay algún experto compiler/linker por ahí. Estamos en unas
> pruebas midiendo rendimientos de IDS y tengo un tema. Al fin y al cabo
> es una simple pregunta de "ldd" para seguir, pero no tengo las cosas del
> todo claras.
>
> Me gustaría tener dos entornos diferentes en una misma máquina.
>
> Los dos entornos serían:
> 1. Kernel, librería libpcap y apps (snort y ntop, principalmente)
> estándares, en principio de paquetería, salvo el propio binario.
> 2. Kernel patcheado (unos sockets de red especiales para sniffing:
> PF_RING), libpcap especial para usar estos sockets, y apps compiladas
> contra esta libpcap diferente.
>
> Se trata de bajarme el nuevo kernel, la nueva libpcap y compilar todo,
> pero, una vez tengo eso, necesito, en la misma máquina, tener la
> posbilidad de arrancar el kernel viejo y lanzar apps (mayormente ntop
> con libpcap normal) para comparar rendimientos.
>
> Entonces, como voy a cambiar la libpcap del sistema, quiero dejar un
> ntop y un snort compilados "estáticamente", para así, arrancar el kernel
> viejo y poder hacer las comparativas.
>
> Me bajo el código de ntop (por ejemplo), lo configuro (parece que con
> --enable-static-plugins) y lo compilo y lo instalo en /usr/local.

Esa opción no parece que indique una compilación estática de ntop, más bien de 
sus plugins (comprueba que gcc use -static al linkar). De todas formas, me 
parece mucho más simple utilizar la variable de entorno LD_LIBRARY_PATH como 
comenta STenyaK. Para lanzar el 2º entorno basta con que hagas:

LD_LIBRARY_PATH=/usr/local/lib ntop-parcheado

o similar.

> La pregunta es, ¿si ejecuto ldd con el nuevo binario, ya no debería
> darme dependencia de /usr/lib/libpcap.so.0.8, no? Aún así, el nuevo
> binario ocupa tres veces más que el que viene en la paquetería... ¿Cómo
> me puedo asegurar que ya no tira dinámicamente de esa librería? ¿Tengo
> pájaros en la cabeza?
>
> Una vez que arregle esto empezaré a poner el nuevo entorno, que dicen
> que es la leche para sniffing a Gb sin pérdidas de paquetes...

Bueno, con PF_RING notarás las mejoras, pero te costará capturar a Gb sin 
pérdidas...

Saludos
-- 
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi


Más información sobre la lista de distribución eside-ghost