Sunday, May 17, 2009

Wireshark sin root

Todo el mundo recomienda ejecutar wireshark sin privilegios de root, lo cual es lógico. Según la propia web, son un millón de líneas de código analizando datos potencialmente maliciosos. Suena lógico, pero por desgracia para capturar tráfico hacen falta privilegios de root.

Así que para usar wireshark hay dos opciones:
  • Arrancar un tcpdump o dumpcap como root, guardar el resultado en un archivo y ejecutar wireshark como un usuario sin privilegios. Bastante incómodo pero efectivo.
  • Permitir a un usuario capturar tráfico. O más general aún, a un grupo de usuarios. Así, cualquiera en ese grupo puede arrancar wireshark y ponerse a capturar tráfico sin más molestias. Normalmentee esto se haría ajustando los permisos del dispositivo en cuestión, como el caso de /dev/sdX para los discos duros, pero las interfaces de red por desgracia no parecen tener estaa opción (hoy en día, en algún sitio leí de dispositivos /dev/tcp, pero me lo puedo estar inventando). La solución es la siguiente:
  • # which dumpcap
    /usr/bin/dumpcap
  • # chmod 750 /usr/bin/dumpcap
  • # chmod +s /usr/bin/dumpcap
  • # chgrp GRUPO_CAPTURA /usr/bin/dumpcap
Y cualquier usuario del GRUPO_CAPTURA (por ejemplo, wheel) puede inicar wireshark normalmente y empezar a analizar tráfico en vivo.

4 comments:

kiev said...

Hola, lo he intentado pero no me ha funcionado :(. Obtengo error en el último paso: invalid group. Sabes a que se puede deber esto?

Unknown said...

¿Que grupo has puesto?

Alexander Villalba said...

gracias

Alexander Villalba said...

gracias