Wireshark es una herramienta de red que captura el tráfico de la máquina dónde se está ejecutando y nos muestra mediante su interfaz gráfica los paquetes capturados. Esto nos permite analizar el tráfico que pasa por nuestro equipo, analizar los protocolos de red, ver direcciones IP, direcciones MAC, crear gráficas de tráfico y otras muchas más funciones.

Instalar Wireshark

El programa wireshark se encuentra en los repositorios oficiales así que podemos instalarlos directamente de ellos.

logo de ubuntuEn Ubuntu:

[usuario@equipo ~]$ sudo apt-get install wireshark

logo de fedoraEn Fedora:

[usuario@equipo ~]$ su -c 'yum install wireshark-gnome'

Logo de Arch LinuxEn Arch Linux:

[usuario@equipo ~]$ sudo pacman -S wireshark-gtk


Una vez instalado podemos ejecutarlo como root pero no es aconsejable, por ese motivo lo mejor es configurarlo para que los usuarios pertenecientes al grupo wireshark lo puedan ejecutar.

Configurar Wireshark

Si wireshark no esta bien configurado no podremos ver las tarjetas de red ni capturar y veremos un error como el de la imagen.

Error de wireshark

Como dije en el apartado anterior podemos ejecutar wireshark como root o como un usuario normal. Vamos a ver los pasos a seguir para solucionar el error anterior y empezar a capturar con wireshark.

Ejecutar Wireshark como root

Primero debemos dar privilegios de red para dumpcap.

[usuario@equipo ~]$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

Ahora ya podemos ejecutar como root.

[usuario@equipo ~]$ sudo wireshark

Ejecutar Wireshark para un grupo de usuarios

Para configurar el wireshark de forma que solo los usuarios pertenecientes al grupo wireshark puedan ejecutarlo se deben realizar los siguientes pasos:

  1. Crear un grupo llamado wireshark.
  2. Agregar nuestro usuario al grupo wireshark.
  3. Cambiar el grupo de dumpcap.
  4. Cambiar los permisos de dumpcap.
  5. Dar privilegios de red a dumpcap.

Los comandos serían los siguientes:

[usuario@equipo ~]$ su
contraseña:
[root@equipo ~]# groupadd wireshark
[root@equipo ~]# usermod -a -G wireshark $USER
[root@equipo ~]# chgrp wireshark /usr/bin/dumpcap
[root@equipo ~]# chmod 754 /usr/bin/dumpcap
[root@equipo ~]# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
[root@equipo ~]# exit

Por último tenemos que cerrar la sesión y volver a abrirla. Ahora ya podremos capturar paquetes con wireshark seleccionando la interfaz y pulsando en Start.

Wireshark pricipal

Capturando paquete con Wireshark