Иногда нужно знать, подходил ли кто-нибудь к компьютеру во время вашего отсутствия. Тем самым можно вычислить, заходил ли вообще кто-нибудь домой, пока вас нет, не используя всякие датчики движения, сета и т.п. (Кто же, придя домой не пошевелит мышкой, чтобы скажем, не выключить «случайно» Вами оставленную музыку?).
Нам не понадобятся всяческие сторонние программы, кейлоггеры. Все, что нам нужно уже есть в системе.
Опишу способ для ОС GNU/Linux.
Как известно, все устройства хранятся в каталоге /dev, а устройства ввода в /dev/input. Смотрим, что у нас там:
$ls -a /dev/input
.У меня имя для устройства мышь mouse0. Смотрим его вывод:
#cat /dev/input/mouse0
(от рута, т.к. только ему принадлежат права на чтение /dev/input/mouse0(ну по крайней мере обычно по-умолчанию так). Вы можете посмотреть права командой #ls -l /dev/input/*
). Итак, #cat /dev/input/mouse0
не дает нам ничего, но стоит лишь пошевелить мышкой, появляются различные символы. Зацепка есть. Вывод mouse0 мы будем обрабатывать в цикле while.#!/bin/bash
cat /dev/input/mouse0 | while read i;
do echo "Вместо echo может быть любая команда";
done;
Создаем крохотный bash-скрипт, шевелим мышой, смотрим, что получилось.
Работает. Но толку от вывода текста в консоль в этом случае нет. Мы будем извещать пользователя сообщением на jabber(у многих, думаю, есть jabber-клиенты на телефонах). Эту часть я решил реализовать на другом скриптовом языке — python. Нам понадобится библиотека xmpppy для него(ее необходимо установить, если ее у Вас нет или скачать отсюда).
import xmpp
jid = xmpp.JID('bot@jabber.ru')
client = xmpp.Client(jid.getDomain(),debug=[])
conres=client.connect()
authres=client.auth(jid.getNode(),'PASSWORD')
client.Process(1)
client.send(xmpp.Message('dihital@jabber.org','text')) #отсылаем сообщение
Подробно расписывать принцип действия скрипта не буду, почитать о библиотеке xmpppy можно наоффициальном сайте.
Далее правим bash-скрипт для вызова сендера.
cat /dev/input/mouse0 | while read i;
do echo "Вместо echo может быть любая команда";
done;
Запускаем от пользователя, имеющего права на чтение /dev/input/mouse0. Уходим. Если кто-то пошевелит мышью, вам придет сообщение.
Функционал программы минимальный, но самое главное теперь можно расширять скрипт в соответствии с Вашими нуждами(можно, например сделать лог нажатий клавиш на клавиатуре).
Пару слов об операционной системе Windows.
windows.h
) или опять же на python(для него тоже есть библиотеки для вызова WinApi функций).Источник: http://habrahabr.ru/sandbox/20410/
Комментариев нет:
Отправить комментарий