Alguien sabe de informacion sobre las librerias LIBPCAP ???

Alvaro Herrera alvherre en dcc.uchile.cl
Jue Nov 4 16:47:24 CLST 2004


On Thu, Nov 04, 2004 at 08:16:20AM -0600, Luis Mix wrote:
> Amigos de la lista, recurro a ustedes para ver si alguno tiene por ahi
> entre sus curiosidades informacion referente a las librerias
> "Libpcap", que usa el tcpdump, y otros analizadores de trafico.  La
> idea aqui es capturar los paquetes, clasificarlos, mandarlos auna base
> de datos, para poder hacer analisis de ellos, graficas estadisticas
> etc. yo se que existen ethereal y otras herramientas mas pero lo que
> no se como tomar esa info que capturan y llevarla a la base de datos,
> algunos compañeros de la lista me sugirieron estudiar estas
> librerias..

Hola,

Creo que estas mal orientado.

pcap, de "Packet CAPture", es una biblioteca para capturar paquetes.
Esto lo puedes hacer trivialmente con tcpdump sin tener que meterte a
programar; mira la opcion -w (esto lo estoy viendo en man tcpdump).

El analisis de paquetes es una tarea completamente aparte.  Una buena
herramienta para esto parece ser ethereal; hay una version "de consola"
que aca se llama tethereal, que te permite obtener los detalles de los
paquetes (ya sea capturados via libpcap (tcpdump etc), o enchufando
tethereal directamente a la interfaz de red).  Por ej. con la opcion -T
puedes definir que te entregue los detalles de los paquetes en formato
psml o pdml, que son XML (esto lo veo en /usr/share/ethereal/tethereal.html)

Con esos datos, es sencillo hacer un programilla en Perl usando
XML::SAX, al cual le enchufas el PSML obtenido y va guardando los datos
en una tabla en Postgres.  Luego puedes obtener toneladas de reportes
estadisticos o datos para tablas o graficos, usando funciones en PL/R
(lenguaje R), etc (www.r-project.org, www.joeconway.com,
www.postgresql.org, apt-get install xml-sax-perl, apt-get install
libchart-perl, etc)

Obviamente es muy buena idea separar todo esto en tres procesos, que no
tienen por que actuar simultaneamente: un proceso de captura, que guarda
en archivos (por ej. un archivo por hora en el directorio "por
procesar"); otro proceso de analisis, que toma los archivos y almacena
en la BD (una vez almacenado, mueves el archivo al directorio de
"procesados"), y un tercer proceso de graficacion, tabulacion,
generacion de reportes, etc.

...

Al final, no se para que me doy la lata de contestar estas cosas si la
gente no da ni las gracias, ni cuenta si le resulta o no, etc.

En fin, suerte.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
One man's impedance mismatch is another man's layer of abstraction.
(Lincoln Yeoh)



Más información sobre la lista de distribución Linux