Elementos Xonet

Nada más ejecutar el programa , aparece la siguiente ventana principal.


Menú

La aplicación cuenta con el siguiente Menú.


Las opciones del menú Archivo son:

  • Nuevo espacio de trabajo:
  • Añade una nueva pestaña a la aplicación, la nueva pestaña contiene un nuevo espacio de trabajo totalmente en blanco.

  • Abrir espacio de trabajo:
  • Abre un espacio de trabajo desde un fichero, se crea un nueva pestaña con el espacio de trabajo cargado.

  • Guardar espacio de trabajo actual:
  • Guarda un espacio de trabajo a un fichero, se trata del espacio de trabajo cuya pestaña está seleccionada.

  • Cargar paquetes:
  • Carga uno o más paquetes desde un fichero, los paquetes cargados se situarán en el panel global.

  • Guardar paquetes:
  • Guarda uno o más paquetes a un fichero, los paquetes guardados son los que se encuentran en el panel global.

Barra de estado

La barra de estado aparece en la parte inferior de la ventana principal, se trata de la forma en que el sistema se comunica con el usuario, proporciona información relativa al estado de la aplicación y posibles errores por parte del usuario.


Panel global

El panel global se encuentra en la parte derecha del aplicación, permanece siempre visible e independiente de la pestaña seleccionada.


El panel global sirve como medio de comunicaci&oacuuten entre las pestañas, permite que el usuario puede mover un paquete entre las funcionalidades con las que cuenta la aplicación.

Cada paquete se representa con dos campos:

  • Nombre:
  • Identifica el paquete frente a los demás paquetes, se puede cambiar su nombre seleccionando el paquete y a continuación haciendo clic sobre el valor.

  • Protocolo:
  • El protocolo representa el tipo de paquete, específicamente, con el tipo de la última cabecera del paquete.

Para su manejo, el panel global contiene con tres botones:

  • Mover a la izquierda:
  • Mueve el paquete seleccionado en el panel global hacia la pestaña actual.

  • Mover a la derecha:
  • Mueve el paquete seleccionado de la pestaña actual (Editor de paquetes o Sniffer) hacia el panel global.

  • Eliminar paquete:
  • Elimina un paquete del panel global.

Editor de paquetes

El editor de paquete los podemos encontrar en la primera pestaña de la aplicación, es el encargado de crear y modificar los paquetes.


Cuenta con los siguientes botones:

  • Añadir cabecera:
  • Añade una cabecera al paquete actual. Deberemos seleccionar el protocolo y la posición donde la queremos insertar, especificando el protocolo PROPIAS,insertaremos la cabecera con uno de los protocolos definidos por el usuario.

  • Modificar cabecera:
  • Permite modificar los valores de la cabecera seleccionada.

  • Eliminar cabecera:
  • Eliminar la cabecera seleccionada.

  • Definir protocolo:
  • Permite definir un nuevo protocolo, se especifica el nombre del protocolo, el número de campos y el nombre de los campos.

  • Vaciar paquete:
  • Elimina todas las cabeceras del paquete actual.

Sniffer

En la segunda pestaña de la aplicación encontramos al sniffer, se trata de un analizador de paquetes sencillo.


Como se puede ver en la imagen, cada paquete se representa mediante cuatro campos.

  • Número:
  • Identifica el orden de captura de los paquetes.

  • Origen:
  • Contiene la dirección IP origen del protocolo IP, en caso de que el paquete no utilice el protocolo IP, se utilizará el campo dirección MAC origen del protocolo Ethernet.

  • Destino:
  • Contiene la dirección IP destino del protocolo IP, en caso de que el paquete no utilice el protocolo IP, se utilizará el campo dirección MAC destino del protocolo Ethernet.

  • Protocolo:
  • El protocolo representa el tipo de paquete, concretamente, con el tipo de la última cabecera del paquete.

Seleccionando un paquete, en la parte inferior del sniffer obtendremos una descripción más detallada de todas las cabeceras que lo componen.

Para manejar el sniffer, la interfaz cuenta con los siguientes botones:

  • Activar:
  • Activa el sniffer, en el caso de que exista algún problema, obtendremos una descripción del error en la barra de estado.

  • Desactivar:
  • Desactivar el sniffer.

  • Detener y limpiar:
  • Desactivar el sniffer y limpia los paquetes capturados.

  • Interfaz de red:
  • Permite seleccionar la interfaz de red y el modo de funcionamiento.

  • Definir fltros globales:
  • Define los filtros que se aplicarán a los paquetes capturados. Se pueden definir uno o más filtros, cada filtro se compone de un protocolo, un campo del protocolo, una operación de comparación y un valor de referencia.

    Las posibles operaciones de comparación son:

    • Mayor:
    • Comprueba que el valor del campo es mayor que el valor de referencia.

    • Menor:
    • Comprueba que el valor del campo es menor que el valor de referencia.

    • Igual:
    • Comprueba que el valor del campo es igual que el valor de referencia.

    • Distinto:
    • Comprueba que el valor del campo es distinto que el valor de referencia.

    • Contiene:
    • Comprueba que el valor del campo contiene el valor de referencia.

    • No contiene:
    • Comprueba que el valor del campo no contiene el valor de referencia.

  • Definir filtros pcap:
  • Son los filtros de la librería libpcap, son los mismo que utiliza Tcpdump.

Nota: Primero se aplican los filtros pcap y a a continuación los filtros globales. Los paquetes que no superen los filtros pcap no pasan por el modulo de decodificación, esto conlleva una menor carga de trabajo para la aplicación.

Espacios de trabajo

Los espacios de trabajo se pueden encontrar a partir de la tercera pestaña de la aplicación, por defecto aparece uno abierto, pero es posible disponer de todos lo que necesitemos.


  • Activar:
  • Ejecuta las operaciones definidas en el espacio de trabajo.

  • Desactivar:
  • Detiene todas las operaciones activas.

  • Vaciar área de trabajo:
  • Eliminar todas las operaciones definidas.

  • Añadir inyección de paquetes:
  • Añade una operación encargada de inyectar paquetes por la red. Las opciones de configuración con las que cuenta son las siguientes:

    • Paquete:
    • Indica el paquete que va ser enviado por la red. Los paquetes disponibles son lo que se encuentran en el panel global.

    • Interfaz:
    • Especifica la interfaz de red utilizada para enviar el paquete.

    • Operación:
      • Simple: Envía una vez el paquete.
      • Varios: Envía varias veces el mismo paquete, es necesario especificar el número de paquetes.
      • Rangos: Envía varios paquetes, los paquetes tiene como base el paquete principal. El usuario define un rango de valores para algún campo del paquete, y la aplicación se encarga de enviar el número los paquetes necesarios. El formato del rango es valor1-valor2-valor3- . . . . -valorN.
      • Infinitos: Envía el mismo paquete continuamente hasta que el usuario desactiva el espacio de trabajo.

    • Threads:
    • Especifica el número de threads utilizados por la aplicación para realizar en envío de los paquetes. Aumentar el número de threads implica un mayor número de paquetes enviados por unidad de tiempo.

    • Tiempo (segundos):
    • Establece el tiempo de espera entre cada paquete enviado.

  • Añadir modificación de paquetes:
  • Añade una operación de modificación de paquetes, esta operación permite recibir paquetes, filtrarlos, modificarlos y reenviarlos. Se configura con los siguientes parámetros:

    • Interfaz sniffer:
    • Selecciona la interfaz por la que se van a recibir los paquetes.

    • Interfaz inyección:
    • Selecciona la interfaz por la que se van a enviar los paquetes.

    • Filtros globales:
    • Los filtros globales establecen los filtros de reenvío de paquetes. Todo los paquetes que superen estos filtros serán siempre reenviados por la interfaz seleccionada.

    • Modificaciones:
    • Establecen las modificaciones que se realizarán sobre los paquetes, es posible definir todas las modificaciones que necesitemos. Cada modificación se compone de dos elementos:

      • Filtros:
      • Especifican los filtros particulares de cada modificación, los paquetes que superen los filtros serán modificados. En caso de que el filtro quede en blanco se considera que todos los paquetes se aceptan.

      • Mods:
      • Define las modificaciones, para ello es necesario seleccionar un protocolo, un campo y un valor, además es posible seleccionar los bytes concretos que se van a modificar.

    Nota 1: En caso de que el protocolo de una modificación no se encuentre en algún paquete, no se aplica la modificación y se pasa a la siguiente.

    Nota 2: El orden de las modificaciones tiene relevancia, es posible que los filtros de las últimas modificaciones acepten los paquetes debido a alguna modificación anterior.

  • Añadir tiempo de espera:
  • Establece un tiempo de espera entre las operaciones, el tiempo se define en segundos.

  • Añadir condición de espera:
  • Esta operación define una condición de espera, el sistema de operaciones queda detenido hasta que se cumple la condición. La condición de espera se especifica con estos parámetros:

    • Interfaz:
    • Seleccionada la interfaz de red por la que se van a recibir los paquetes.

    • Filtro:
    • Especifica el filtro que deben pasar los paquetes para que se cumpla la condición.

    Una vez que se cumple la condición se pasa a ejecutar la siguiente operación.

Atajos de teclado:

La aplicación cuenta con los siguientes atajos de teclado:

Keys Action
Control+N Crea un nuevo espacio de trabajo.
Control+O Abre un espacio de trabajo.
Control+S Guarda un espacio de trabajo.
Control+L Carga paquetes desde un fichero.
Control+G Guarda los paquetes a un fichero.