usbmon (wireshark, tshark) para usuarios habituales

9

Tengo libpcap configurado con la última versión de cvs. Los usuarios habituales pueden ejecutar Wireshark y tshark. Específicamente, se han agregado al grupo wireshark y pueden capturar

1. eth0
2. br0
3. nflog (Linux netfilter log (NFLOG) interface)
4. nfqueue (Linux netfilter queue (NFQUEUE) interface)
5. any (Pseudo-device that captures on all interfaces)
6. lo

Desafortunadamente, no ven los dispositivos usbmon que hace la raíz:

1. eth0
2. br0
3. nflog (Linux netfilter log (NFLOG) interface)
4. nfqueue (Linux netfilter queue (NFQUEUE) interface)
5. usbmon1 (USB bus number 1)
6. usbmon2 (USB bus number 2)
7. usbmon3 (USB bus number 3)
8. usbmon4 (USB bus number 4)
9. usbmon5 (USB bus number 5)
10. usbmon6 (USB bus number 6)
11. usbmon7 (USB bus number 7)
12. any (Pseudo-device that captures on all interfaces)
13. lo

Como root, tshark -Denumera todos los dispositivos usbmon. Sin embargo, el usuario normal no puede ver los dispositivos usbmon con wireshark o tshark.

¿Cómo puedo hacer que los dispositivos usbmon estén disponibles para los usuarios del grupo wireshark?

d-cubed
fuente

Respuestas:

6

Resolví esto creando un grupo para los usuarios que deberían poder usar usbmon y luego dejar que udev cambie la propiedad del dispositivo. Así que solo cree un grupo, agregue su usuario al grupo y coloque una regla udev en "/etc/udev/rules.d":

addgroup usbmon
gpasswd -a $USER usbmon
echo 'SUBSYSTEM=="usbmon", GROUP="usbmon", MODE="640"' > /etc/udev/rules.d/99-usbmon.rules

Y por último, pero no menos importante, reinicie o asegúrese de que el usuario realmente esté en el grupo y active udev o una rmmody modprobeotra vez.

ypid
fuente
Hizo un papel de Ansible: udev-usbmon
ypid
Gracias. He estado buscando la solución udev por un tiempo ahora.
FazJaxton
5

Encontré la respuesta aquí .

Para permitir que los usuarios de wireshark (los agregados al grupo wireshark) capturen datos USB, se deben cambiar los permisos para usbmon:

chmod o=rw /dev/usbmon*

Aquí hay otra respuesta para casi la misma pregunta (con una respuesta alternativa) .

d-cubed
fuente
0

De wireshark.org :

Debe ejecutar Wireshark o TShark en una cuenta con suficientes privilegios para capturar, o debe otorgar a la cuenta en la que está ejecutando Wireshark o TShark suficientes privilegios para capturar.

stderr
fuente
1
La cuenta tiene suficientes privilegios para capturar, simplemente no usbmon aparentemente.
d-cubed