Desarrollo de un monitor gráfico de red en el entorno Gnome EtherApe: Aplicación de las técnicas del software libre al desarrollo Juan Toledo Cota Saltar a la primera página Objetivos del proyecto n n Desarrollar un monitor gráfico de red Utilizar los procedimientos del software libre Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Monitorización de redes Definición n n n Un único medio físico soporta las comunicaciones entre un gran número de ordenadores Para resolver o prevenir problemas es necesario analizar las conversaciones en tiempo real La complejidad de la información que circula por la red dificulta su presentación al usuario Saltar a la primera página Monitorización de redes Software disponible n tcpdump u n Ethereal u n Packet sniffer en modo texto. Una línea por cada paquete Analiza exhaustivamente los paquetes en modo de ventanas ntop u Monitor del uso de red en modo texto Saltar a la primera página Monitorización de redes Etherman n n n Monitoriza el uso de la red en modo gráfico Software gratuito, pero no libre Proyecto abandonado en el año 1998 Saltar a la primera página Monitorización de redes Etherman n n n Monitoriza el uso de la red en modo gráfico Software gratuito, pero no libre Proyecto abandonado en el año 1998 Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Software Libre Características n n n n Acceso al código fuente Libertad para hacer cambios Libertad para redistribuir Ejemplos: Linux / Apache / Bind Saltar a la primera página Software Libre Ventajas n n n n n Ayuda al testeo en situaciones no previstas Potencial aumento de los recursos humanos destinados al desarrollo Promueve código más general y mantenible Beneficio a largo plazo (No más abandonware) No limitado a bibliotecas u objetos Saltar a la primera página Software Libre libpcap n n n n Biblioteca de captura de paquetes Multiplataforma (todos las formas de Unix y Win32) Soporta múltiples dispositivos (ethernet, FDDI, Token Ring, AX25, PPP, etc) Implementa un filtro de captura Saltar a la primera página Software Libre Ethereal n n n n Analizador de protocolos Capaz de decodificar 196 protocolos, y subiendo En muchos casos es la referencia canónica para un protocolo Analiza al detalle cada paquete Saltar a la primera página Software Libre Gnome n n n n Entorno integrado de usuario. Escritorio Facilita el desarrollo del GUI: Glade/Libglade Componentes complejos, p.e. entradas de texto con historial. Canvas: Componente específico para el diseño de diagramas Saltar a la primera página Software Libre Gnome n n n n Entorno integrado de usuario. Escritorio Facilita el desarrollo del GUI: Glade/Libglade Componentes complejos, p.e. entradas de texto con historial. Canvas: Componente específico para el diseño de diagramas Saltar a la primera página Software Libre Gnome n n n n Entorno integrado de usuario. Escritorio Facilita el desarrollo del GUI: Glade/Libglade Componentes complejos, p.e. entradas de texto con historial. Canvas: Componente específico para el diseño de diagramas Saltar a la primera página Software Libre Gnome n n n n Entorno integrado de usuario. Escritorio Facilita el desarrollo del GUI: Glade/Libglade Componentes complejos, p.e. entradas de texto con historial. Canvas: Componente específico para el diseño de diagramas Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página EtherApe Características n n n n n Multiplataforma Linux, Solaris, SGI, Alpha, FreeBSD, NetBSD, etc... Múltiples modos de funcionamiento: Capa física, IP, TCP Capturas en vivo o desde archivo Soporte de dispositivos Ethernet, FDDI, Token Ring, RDSI, PPP, SLIP Registro de parámetros estadísticos Saltar a la primera página EtherApe Diagrama de Bloques Saltar a la primera página EtherApe Diagrama de Eventos Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Motor de captura n n n Bloque de código independiente. No tiene dependencias gráficas. Integrado en el sistema de eventos. Una llamada por paquete en la red. Susceptible de ser distribuido como proyecto independiente. Saltar a la primera página Motor de captura Funciones n n n n Captura portable de paquetes Identificación de nodos Análisis de la pila de protocolos Extracción de nombres Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Interfaz de usuario Diagrama n Nodos Grupo u Círculo u Texto u n n Enlace Leyenda Saltar a la primera página Interfaz de usuario Diagrama n Nodos Grupo u Círculo u Texto u n n Enlace Leyenda Saltar a la primera página Interfaz de usuario Diagrama n Nodos Grupo u Círculo u Texto u n n Enlace Leyenda Saltar a la primera página Interfaz de usuario Información estadística n n n Ventana de protocolos Información de protocolo Información de nodo Saltar a la primera página Interfaz de usuario Información estadística n n n Ventana de protocolos Información de protocolo Información de nodo Saltar a la primera página Interfaz de usuario Elementos activos n n Barra de menús Diálogo de preferencias Preferencias de diagrama u Preferencias de captura u Saltar a la primera página Interfaz de usuario Elementos activos n n Barra de menús Diálogo de preferencias Preferencias de diagrama u Preferencias de captura u Saltar a la primera página Interfaz de usuario Elementos activos n n Barra de menús Diálogo de preferencias Preferencias de diagrama u Preferencias de captura u Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Procedimiento de desarrollo n n n n n Estándar GNU: Autoconf/Automake Internacionalización: Gettext Gestión de código: CVS Promoción del proyecto Sourceforge Saltar a la primera página Presentación n n n n n n n Monitorización de redes Software Libre EtherApe Motor de captura Interfaz de usuario Procedimiento de desarrollo Resultados Saltar a la primera página Resultados n n n n n n Objetivos técnicos y formativos alcanzados 382.520 visitas. 63.046 descargas. Distribuido por Debian, RedHat, Mandrake, Conectiva, Linux/PPC Uso productivo: ISPs, aviónica, ISS Patrocinado por la FSF Desarrollo contínuo Saltar a la primera página Desarrollo de un monitor gráfico de red en el entorno Gnome Turno de preguntas Saltar a la primera página