ARM es una herramienta de linea de comandos que permite monitorizar el comportamiento y los eventos ocurridos en TOR, funcionando de una forma muy similar a como lo hace el comando “top” en distribuciones basadas en Linux. Esta aplicación se encuentra escrita en python y no necesita un proceso de construcción/compilación e instalación previo siendo muy sencillo su uso. Para descargar esta herramienta se puede utilizar “APT” en distribuciones basadas en Debian, o directamente el “tarball” desde aquí: http://www.atagar.com/arm/download.php posteriormente se puede utilizar el script “setup” para instalar ARM
|
Se procede a instalar la aplicación en el sistema local.
|
La instalación se lleva a cabo en los directorios compartidos del sistema (/usr/share/arm/) ahora es posible comenzar a utilizar ARM simplemente ejecutando el comando “arm” desde consola, de este modo de podrá ver información del servicio TOR correspondiente a:
- Figerprint del servicio
- Nickname del servicio
- Número de bytes de subida y de bajada
- Porcentaje de Memoria utilizada por TOR
- Porcentaje de CPU utilizado por TOR
- PID del servicio TOR
- Tiempo que lleva activo el servicio
- Reporte en tiempo real
- Menú de opciones muy completo para controla el servicio de TOR y las conexiones establecidas.
USO DE ARM
Antes de comenzar a utilizar ARM, es necesario que el fichero de configuración de TOR (torrc) tenga la opción ControlPort, esto es obligatorio ya que esta opción permite que clientes externos (como en este caso ARM) establecer una conexión con el servicio y posteriormente consultar sus propiedades y controlar su comportamiento. Además se recomienda definir la opción HashedControlPassword o CookieAuthentication con el fin de no permitir que cualquier cliente se pueda conectar al servicio de TOR, evidentemente es mejor evitar que cualquier usuario pueda conectarse sin ningún tipo de restricción al servicio de TOR. En el caso de que estas opciones se declaren en el fichero de configuración de TOR, cuando se inicie ARM, lo primero que solicitará TOR será la contraseña de acceso al servicio (El puerto por defecto es el 9051).
Las opciones disponibles en ARM son:
|
Como puede apreciarse, el valor por defecto de la interfaz de control es 127.0.0.1:9051, sin embargo si el servicio de TOR se encuentra en ejecución en un puerto distinto (o en una máquina distinta) es necesario establecer este valor con la opción “-i”.
Ahora, el funcionamiento de ARM es casi por completo interactivo y muchas de las opciones que definen el comportamiento de la herramienta pueden ser cambiadas posteriormente desde la propia herramienta en ejecución, a continuación se indica el funcionamiento de ARM utilizando algunas capturas de pantalla, principalmente porque “una imagen vale más que mil palabras”
|
Controller password:
En el panel superior de la interfaz se puede apreciar datos relacionados con el relay y las políticas asociadas a este, así como también se puede apreciar información general como la versión de TOR, el tiempo que lleva en ejecución, la carga de la maquina y el fingerprint del servicio. En la zona central se puede apreciar el trafico de subida y de bajada y finalmente en la parte inferior de la pantalla se pueden ver las trazas relacionadas con los eventos ADDMAP (a), NOTICE (n) y INFO (i) estos valores representan la opción “-e ani” del comando ejecutado.
Por otro lado, se pueden controlar todos los eventos y demás con las opciones que aparecen justo por encima de los reportes en tiempo real de subida y bajada
(page 1 / 4 – m: menu, p: pause, h: page help, q: quit)
Los valores se entienden fácilmente, para ver la ayuda, presionar la tecla “h”
Allí aparecen las opciones disponibles en la interfaz, posteriormente, el Menú de ARM permite personalizar el comportamiento general la presentación que tendrá ARM.
Las opciones que se incluyen en este menú se indican a continuación:
– Actions:
– Close Menu: Cierra el Menú.
– New Identity: Crea un nuevo circuito para cambiar la dirección de origen de las peticiones.
– Stop TOR: Detiene TOR
– Reset TOR: Resetea TOR
– Setup Wizard: Asistente encargado de configurar el servicio de TOR, habilitando opciones muy similares a las disponibles en Vidalia, tales como crear un Internal Relay, Exit Relay, Bridge y Client.
– Pause: Pausar el gráfico en tiempo real y los logs enseñados en ARM
– Exit: Salir del Programa.
Posteriormente en el menú “View” se incluyen reportes y opciones muy interesantes
View → Grap
Valor por defecto para enseñar el trafico de subida y bajada en tiempo real
View → Connections
Reporte en tiempo real de las conexiones que se han establecido en la red TOR.
View → Configuration
Interesante opción que permite cambiar “en caliente” las opciones de configuración de TOR, incluyendo una descripción de cada una de ellas y permitiendo su edición.
View → Torrc
Incluye el fichero de configuración utilizado para la ejecución de TOR
View → Color
Permite establecer el color de la interfaz de ARM
Grap → None
No se incluye ningún reporte en la interfaz de ARM
Grap → Bandwidth
Reporte por defecto.
Grap → Connections
Reporte sobre las conexiones de entrada y salida
Grap → Resources
Reporte sobre el uso de CPU y Memoria
Grap → Resize, Grap → Interval, Grap → Bounds
Indica el tamaño, la frecuencia y los limites del reporte respectivamente
Log → Events
Enseña los tipos de eventos que pueden ser activados en ARM para mas o menos trazas.
Log → Snapshots, Log → Clear, Log → Hide Duplicates, Log → Filter
Toma capturas de pantalla, limpia los logs, Oculta los duplicados y permite filtrar por expresiones regulares.
Finalmente, ARM tiene una interfaz visual un poco mas “refinada” utilizando la opción “-g” o “–gui” que utiliza GTK para cargar los elementos visuales, no obstante contiene las mismas opciones que se han explicado en los párrafos anteriores, el único cambio es meramente visual.