web-dev-qa-db-fra.com

Comment savoir si ma webcam est utilisée ou non?

quelle commande me permet de savoir si ma webcam est utilisée ou non?

lsof /dev/video0 c'est insuffisant. Tous les appareils de bloc avec nombre majeur et mineur 81 et 0 doivent être surveillés.

15
user123456

Si votre noyau utilise des modules (qui est fortement probable), une façon de déterminer si un programme accède à votre webcam consiste à examiner le nombre d'utilisation du module:

$ lsmod | grep uvcvideo
uvcvideo               90112  0

Le 0 dans le troisième champ montre que rien ne dispose d'un appareil ouvert pour une webcam uvcvideo-contrôlée (lorsque lsmod RAN). Bien sûr, vous devez savoir exactement quel module est responsable de votre webcam; Il est facile de vérifier cependant, vous verrez le changement de sortie tout en exécutant un programme tel que du fromage.

Notez que, à proprement parler, un compte positif signifie que quelque chose a ouvert un appareil, cela ne signifie pas que les images sont en cours de capture.

15
Stephen Kitt

Sur tout système sain d'esprit, sauf si vous avez mis en place des chroots avec leur propre /dev, tous les fichiers de périphérique sont sous /dev. Seule la racine peut créer des fichiers de périphérique. Vous n'avez donc pas besoin de vous soucier des utilisateurs malveillants de créer des fichiers de périphérique ailleurs.

Donc, tout ce que vous avez à faire est de localiser les fichiers sous /dev qui font référence au même appareil que celui qui vous intéresse.

ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'

Il est probable que cela ne montrerait que /dev/video0. Habituellement, il y a un seul fichier de périphérique pour chaque appareil et il y a éventuellement des liens symboliques supplémentaires.

Ainsi, le pratique répondez à votre question est le simple. Vérifiez simplement les processus que le fichier de périphérique est ouvert.

fuser /dev/video0

Si vous souhaitez surveiller les accès (c.-à-d. Processus de capture pouvant ouvrir le fichier de périphérique à tout moment), utilisez l'une des méthodes de surveillance de Linux Méthodes de surveillance d'accès au fichier dans le ou les fichiers de périphérique: Configurez une montre (et Vérifiez quels processus ont déjà le ou les fichiers de périphérique)

inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

ou configurer une règle d'audit qui connectera les accès dans les journaux système (généralement /var/log/audit/audit.log)

auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

En supposant que ce que vous voulez réellement, c'est de vous assurer que votre webcam n'est pas utilisé lorsque vous ne le souhaitez pas , la solution la plus simple consiste simplement à le déconnecter (si externe) lorsqu'il n'est pas nécessaire. Ou couvrant la webcam (juste un morceau de ruban de conduit fonctionnerait).

Les approches physiquement basées sont beaucoup plus sûres que celles logicielles.

7
Ángel