Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

domingo, 30 de agosto de 2015

Cómo usar Wireshark sin ser root

En esta ocasión vengo a hablaros sobre una de las herramientas favoritas de todos aquellos que se interesan por el mundo de las redes: Wireshark. Esta herramienta es mundialmente famosa, y ya he mostrado algunos usos de ésta realizando análisis de red; además al ser usada en sistemas Windows y Linux, el uso de ésta es enormemente popular en todos los ámbitos. Aún así hay algunas pequeñas diferencias al usar esta magnifica herramienta, ya que mientras que en Windows se trata de un simple instalar y ejecutar el programa, en Linux no es tan sencillo debido a las restricciones que el sistema impone debido a los permisos que uno posee para ejecutar este programa... Si uno tratase de ejecutar el programa, en efecto podría abrirlo, pero no sería capaz de seleccionar la interfaz de red en la que desea "escuchar", ya que el usuario y la aplicación en cuestión no están capacitados para realizar las tareas pertinentes. Para resolver ese pequeño problema existen dos opciones: Ejecutar la aplicación desde la consola como root (cosa peligrosa y que los desarrolladores de Wireshark NO recomiendan) o preparar wireshark para que alguien que no sea root pueda usar la aplicación con tan solo clickar en su icono, sin maniobras ni procedimientos "extraños". En este post me centraré en la segunda opción, ya que es la más práctica y segura de los dos.

logo_wireshark

Este procedimiento es relativamente sencillo y la mayor parte de éste se tendrá que hacer una única vez, ya que los cambios que realizaremos serán de caracter permanente y no será necesario repetirlo en el futuro. Para ello habrá que recurrir a la consola de Linux como root y comenzar comprobando si existe el grupo llamado wireshark... Para ello habría que recurrir a un comando muy sencillo que comprobaría dicha existencia y que en caso de que no existiese lo crearía; dicho comando sería:

  1. groupadd wireshark

Con este punto resuelto, habría que realizar un pequeño cambio en el fichero /usr/bin/dumpcap; este fichero es el encargado de "capturar" el tráfico de red y por defecto está diseñado para que pertenecer al usuario root y al grupo root... Esta es una de las principales causas por las que un usuario normal es incapaz de usar wireshark como es debido por defecto, con lo que habría que hacer que este fichero perteneciese a otro grupo; concretamente al grupo wireshark... Para lograr dicho objetivo habría que recurrir al comando chgrp de la siguiente forma:

  1. chgrp wireshark /usr/bin/dumpcap

Desgraciadamente, este pequeño cambio no es de por sí suficiente, ya que aunque el fichero de por sí no está preparado para que alguien que NO sea administrador, sea capaz de analizar la red... Afortunadamente esto puede resolverse fácilmente mediante un comando que únicamente ocupa una línea:

  1.  setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

Gracias a esto ya tendríamos todos los preparativos realizados a falta de un último paso que debería repetirse para todos los usuarios que deseemos que sean capaces de usar wireshark. ¿Recordáis cómo hemos hecho que dumpcap pertenezca al grupo wireshark? Bien, ahora es el turno de hacer que nuestros usuarios pertenezcan también a dicho grupo para que puedan ejecutar el fichero dumpcap sin restricciones. Esto se logra usando el comando usermod que os dejo a continuación, teniendo en cuenta que $USER es una variable que coge el nombre del usuario que tiene la sesión iniciada... En caso de ejecutar este comando con otro usuario o querer hacer esta tarea para todos los usuarios como root, lo mejor sería sustituir dicha variable con el nombre del usuario en cuestión:

  1. usermod -a -G wireshark $USER

El cambio en cuestión ya nos capacitaría para que poder usar wireshark, si bien es necesario reiniciar el equipo o cerrar sesión para que el cambio sea efectivo... Esto es debido a que la sesión de escritorio actual está iniciada teniendo en cuenta que el usuario que tiene iniciada ésta, todavía no pertenecía al grupo wireshark cuando se inició la sesión; con lo que hasta que éste no vuelva a iniciarla no podrá ejecutar la aplicación con libertad.

Como veis el procedimiento es bien sencillo... Lo único que habría que tal vez habría que volver a usar de nuevo en el futuro sería el comando usermod, con el fin de que los nuevos usuarios tengan permisos para ejecutar esta excelente aplicación.

Saludos.

No hay comentarios :

Publicar un comentario