No hay interfaces en las que se pueda realizar una captura

24

Estoy usando Ubuntu 13.04.

Wireshark no me mostrará ningún registro, no funcionará en absoluto. Estoy conectado a mi WiFi, enrutador Belkin.

Mike Wentworth
fuente
Una solución rápida, no una solución: Puede ejecutar Wireshark como root: gksudo wireshark.
soulsource

Respuestas:

45

Abra una terminal presionando Ctrl+ Alt+ Ty escriba los siguientes comandos:

sudo dpkg-reconfigure wireshark-common

presione la flecha derecha e ingrese para sí

sudo chmod +x /usr/bin/dumpcap

ahora deberías poder ejecutarlo sin root y podrás capturarlo.

M.Tarun
fuente
44
+1. Funciona en 14.04 también. Nota: los documentos dicen : "la captura de paquetes USB no está habilitada para usuarios no root mediante Capacidades de Linux. Debe capturar los paquetes utilizando el método descrito en I./a., Estableciendo el id de usuario de forma permanente usando dpkg -statoverride o ejecutar Wireshark como root ".
jfs
Sería de gran ayuda para los novatos, si también puede describir lo que se está haciendo con los comandos anteriores que lo hacen funcionar
Ahmed
1
FUNCIONA en LTS 14.04 .... Muchas gracias.
Jueves
chmod +xhace que dumpcap sea ejecutable para todos. Una alternativa sería agregar a los usuarios que desea permitir la captura en el grupo wireshark.
Domingo
2

El mensaje "No se puede utilizar ninguna interfaz para capturar en este sistema con la configuración actual" aparece comúnmente cuando no tiene los privilegios para acceder a las interfaces de red para la supervisión. Intente abrir una terminal y ejecutar gksudo wireshark. Si aparecen varias interfaces de red, es porque cuando ejecuta wireshark sin permisos de root no tiene los privilegios para monitorear.

Para solucionarlo, ejecute el siguiente comando en una terminal:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
Vis
fuente
"Intenta abrir una terminal y ejecutar gksudo wireshark". Tenga en cuenta que este documento dice "WIRESHARK CONTIENE MÁS DE DOS MILLONES DE LÍNEAS DE CÓDIGO DE FUENTE. NO LOS EJECUTE COMO RAÍZ". antes de hacer eso Ejecute el sudo setcapcomando en su lugar, o use sudo dpkg-reconfigure wireshark-commonpara que el paquete establezca las capacidades por usted.
0

Cuando intenté ejecutar wireshark, recibí este error:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

entonces lo ejecutaba como root, lo que deshabilitaba LUA. La ventana emergente que me informaba que el LUA ha sido deshabilitado era tan molesto que intenté solucionarlo.

primero comprobé los privilegios ejecutando

ls -l /usr/bin/dumpcap

que resultó en:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

esto era obvio, eso es lo que Wireshark me ha estado diciendo. Así que acabo de cambiar el propietario de root a mi acc

sudo chown -R $LOGNAME /usr/bin/dumpcap

Lo que funcionó, ahora puedo ejecutar wireshark sin root

Adam Verner
fuente
0

Buscó en Google "no se pudo ejecutar / usr / bin / dumpcap en el proceso secundario" y encontró esta pregunta:

No puedo usar wireshark "no se pudo ejecutar / usr / bin / dumpcap en el proceso secundario"

Que está marcado como duplicado y me trajo aquí. La solución propuesta es:

sudo chmod +x /usr/bin/dumpcap

El comando anterior realmente funciona, pero me gustaría agregar una ADVERTENCIA de seguridad . Eso permitirá la captura de paquetes para TODOS LOS USUARIOS en el sistema. Puede ser una solución temporal, pero no se desea como solución permanente.

Seguí las instrucciones de la página wireshark sobre los privilegios de captura:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

Se RECOMIENDAN restringir dumpcap la ejecución a un grupo o un usuario específico.

Seguí esas instrucciones (con adaptaciones):

Establecer privilegios de red para dumpcap si su núcleo y sistema de archivos admiten capacidades de archivo

  • Asegúrese de haber instalado las herramientas necesarias, como el comando setcap.

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

(NOTA: Reemplace / usr / bin con / usr / sbin en caso de que reciba un error que indica que dumpcap no está en / usr / bin)

  • Inicie Wireshark como no root y asegúrese de ver la lista de interfaces y pueda realizar capturas en vivo. ( IGNORÉ ESTA INSTRUCCIÓN. NO FUNCIONÓ PARA MÍ )

Establecer privilegios de red para dumpcap si su núcleo y sistema de archivos no admiten capacidades de archivo

En este caso, deberá hacer que dumpcap set-UID sea root.

sudo chown root /usr/bin/dumpcap 

(NOTA: Reemplace / usr / bin con / usr / sbin en este comando y el siguiente comando en caso de que reciba un error que indica que dumpcap no está en / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Limitar el permiso de captura a un solo grupo

Después de haber establecido los privilegios de red de dumpcap:

  • Cree el usuario "wireshark" en el grupo "wireshark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Asegúrese de que Wireshark funcione solo desde la raíz y desde un usuario en el grupo "wireshark" ( HICE ESTE PASO SOLO AL FINAL, NO POR EL MISMO )

Y finalmente, dos pasos más:

sudo dpkg-reconfigure wireshark-common

Elige "sí".

Cierre sesión en TODAS las interfaces para el usuario (incluido ssh, que fue mi mayor error) e inicie sesión nuevamente.

Afortunadamente, debe iniciar wireshark y ver todas las interfaces como un usuario normal (sin usar sudo)

wireshark &

Y si revisas los permisos del archivo

ls -la /usr/bin/dumpcap

Permite que SOLO el USUARIO y el GRUPO ejecuten

-rwxr-xr-- 1 cable de conexión raíz

Marco A. Pivetta
fuente