¿Cómo ejecuto wireshark, con privilegios de root?


95

Una instalación estándar de Wireshark no le da permiso al programa para acceder a la interfaz de red.

Supongo que tengo que ejecutar el programa sudo, pero no sé cómo agregarlo al icono, si esa es la forma de hacerlo.


¿Estás hablando de WireShark? De lo contrario, ¿puede vincular a la página de inicio de la aplicación para que podamos ver de qué está hablando? Gracias.
Oli

En realidad, probablemente esté hablando de Wireshark en lugar de WireShark. :-)

Podría probar la tcpdumpherramienta en Linux si le wiresharkestá dando demasiados problemas.
warfreak92

Respuestas:


149

Para WireShark hay una mejor manera. El bit que normalmente necesita raíz es la aplicación de recogida de paquetes y esto puede ser configurado para permitir que ciertas personas lo utilizan sin sudo, gksu, etc.

En una terminal (muy importante que estés en una terminal, no solo el diálogo Alt + F2) ejecuta esto:

sudo dpkg-reconfigure wireshark-common

Esto le preguntará si desea permitir que usuarios no root puedan rastrear. Eso es a lo que apuntamos, así que selecciona Yesy presiona regresar.

Reconfiguración de cables comunes

Esto agrega un wiresharkgrupo. Cualquiera en ese grupo podrá oler sin ser root. Obviamente, esto es más seguro que dejar que alguien huela, pero sí significa que no hay verificación de contraseña. Técnicamente, cualquier persona con acceso a una computadora que haya iniciado sesión con una wiresharkcuenta podrá oler. Si eso es aceptable para usted, continúe.

De lo contrario, vuelva a ejecutarlo y seleccione no.

Entonces solo necesita agregar el usuario a ese grupo. Ejecuta esto:

sudo adduser $USER wireshark

Y reiniciar o cerrar sesión. Cuando vuelvas a entrar, debería permitirte comenzar a olfatear sin preocuparte por ser root.


2
¿Alguna forma de omitir el paso reiniciar / cerrar sesión?
Taha Jahangir

44
Esta solución dejó de funcionar en 14.04
Janghou

99
Y sí, definitivamente es una forma mucho mejor que ejecutar Wireshark como root. El archivo README.packaging en la fuente de Wireshark dice "WIRESHARK CONTIENE MÁS DE DOS MILLONES DE LÍNEAS DE CÓDIGO DE FUENTE. NO LOS EJECUTE COMO RAÍZ".

3
@TahaJahangir Si reiniciar / cerrar sesión es inconveniente, puede usar el newgrp wiresharkcomando para ingresar temporalmente al grupo después de haberse convertido en miembro del wiresharkgrupo.
Lekensteyn

3
@TahaJahangir y Oli: mucho más conveniente que cerrar sesión es usar su - $USERcomo se describe en Volver
Superusuario

3

También puede ejecutar Wireshark con privilegios de root ejecutándose gksu wiresharkdesde la terminal.

Tenga en cuenta que existen problemas de seguridad con la ejecución de Wireshark en este modo, es decir, que cualquier vulnerabilidad que comprometa a Wireshark ahora tiene privilegios de root en lugar de privilegios de usuario. Esto es más preocupante con Wireshark que con otras aplicaciones porque, por su propia naturaleza (captura y procesamiento de entradas arbitrarias), Wireshark es más vulnerable a las vulnerabilidades que las aplicaciones de escritorio típicas. Probablemente esté seguro en una red SOHO, pero debe tener en cuenta esta preocupación antes de continuar.

Citas:


Acabo de configurarlo con --enable-setcap-install flag, entonces no puedo hacer esto.
Smile.Hunter

Esto es mucho más peligroso y más problemático, porque existen errores más explotables cuando se ejecuta la interfaz gráfica de usuario completa como raíz, y los problemas de configuración pueden surgir cuando un programa de interfaz gráfica de usuario se ejecuta como raíz. Vea la solución dpkg-reconfigure arriba para una opción mucho mejor.
nealmcb

Para los usuarios de escritorio, considero que esto es una solución alternativa. Cuando sudo la aplicación, todos los archivos que crea tienen permiso de root, y debe cambiar constantemente los permisos de los archivos para que estén disponibles para su usuario actual en su directorio de inicio. Para el servidor y los administradores de sistemas en general, sudo es en realidad el mejor enfoque.
JulioHM

@JulioHM Ejecutar Wireshark como root es peligroso para todos, incluidos servidores y administradores de sistemas.
kraxor 01 de

1
Aproximadamente en la línea 40 del archivo doc / README.packaging de Wireshark , dice "WIRESHARK CONTIENE MÁS DE DOS MILLONES DE LÍNEAS DE CÓDIGO DE FUENTE. NO LOS EJECUTE COMO RAÍZ". Tómese esa declaración muy en serio.

3

Realmente no es necesario iniciar WireShark como root. Por favor lea la página oficial . En resumen, debes hacer:

sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Luego cierre la sesión y vuelva a iniciarla.

Nota: este método se probó en 16.04 LTS, 17.10 y 18.04 LTS.


1
Esto seguirá siendo interfaces de carga a menos que se cambie. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

puedes probar esto también, abrir la terminal, ejecutar este comando

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

ejecute wireshark como usuario no root

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.