Слежение за изменениями в директории: как это делается в разных ОС. Как следить за изменениями файлов и папок в Windows Программа для отслеживания изменений в файлах

08.06.2023 Интернет

Иногда может потребоваться отследить изменения, выполняемые программами или настройками в реестре Windows. Например, для последующей отмены этих изменений или для того, чтобы узнать, как те или иные параметры (например, настройки оформления, обновлений ОС) записываются в реестр.

В этом обзоре - популярные бесплатные программы, которые позволяют легко просмотреть изменения в реестре Windows 10, 8 или Windows 7 и некоторая дополнительная информация.

Бесплатная программа Registry Live Watch работает по несколько иному принципу: не путем сравнения двух образцов реестра Windows, а путем мониторинга изменений в режиме реального времени. Однако программа не отображает самих изменений, а лишь сообщает о том, что такое изменение произошло.

Скачать программу можно с официального сайта разработчика http://leelusoft.altervista.org/registry-live-watch.html

WhatChanged

Еще одна программа, позволяющая узнать, что изменилось в реестре Windows 10, 8 или Windows 7 - WhatChanged. Её использование очень похоже на таковое в первой программе этого обзора.

У программы нет собственного официального сайта, но она легко находится в Интернете и не требует установки на компьютер (на всякий случай перед запуском проверьте программу с помощью virustotal.com, при этом учитывайте, что в оригинальном файле есть одно ложное обнаружение).

Еще один способ сравнить два варианта реестра Windows без программ

В Windows присутствует встроенный инструмент для сравнения содержимого файлов - fc.exe (File Compare), который, в том числе, можно использовать и для сравнения двух вариантов ветвей реестра.

Для этого с помощью редактора реестра Windows экспортируйте необходимую ветвь реестра (правый клик по разделу - экспортировать) до изменений и после изменений с разными именами файлов, например, 1.reg и 2.reg.

Затем используйте в командной строке команду наподобие:

Fc c:\1.reg c:\2.reg > c:\log.txt

Где указаны сначала пути к двум файлам реестра, а затем - путь к текстовому файлу результатов сравнения.

К сожалению, способ не подойдет для отслеживания значительных изменений (потому как визуально в отчете не получится ничего разобрать), а лишь для какого-то небольшого раздела реестра с парой параметров, где предполагается изменение и скорее для отслеживания самого факта изменения.

  • Аудит подключений пользователей к файлам и папкам в сетевых ресурсах
  • Проще и информативнее встроенных средств ОС, не требует дополнительных инструментов для анализа Event Log
  • Мониторинг создания/удаления файлов и папок
  • Ведение журнала действий пользователей
  • Сигнализация на события

10-Strike Connection Monitor - Программа для мониторинга и аудита доступа к папкам (сетевым ресурсам) и файлам компьютера по сети. Она ведёт журнал доступа сетевых пользователей к файлам и папкам, выдает текстовые, SMS, email и звуковые оповещения при подключениях удаленных пользователей к определенной папке или файлу, может запустить приложение или скрипт в качестве реакции на событие. Предусмотрена возможность блокировки подключений и временного отключения сетевого доступа.

Поддерживаются ОС Windows XP/Vista/7/8.1/10; Server 2003/2008/2012/2016/2019.

Программа включена в единый реестр российского ПО минкомсвязи.

Как работает программа мониторинга доступа

При запуске 10-Strike Connection Monitor прячется в трей Windows (рядом с часами) и отслеживает подключения к сетевым ресурсам. Когда кто-либо открывает ваши сетевые папки и файлы, программа выдает оповещение - проигрывает звук, отображает всплывающую подсказку в трее с именем подключившегося пользователя, либо отображает сигнальное окно.

Обнаружив подключение к ресурсам, вы можете нажать комбинацию клавиш Win+C , либо кликнуть по иконке в трее, и просмотреть список подключившихся пользователей и открытых ими файлов.

Вы можете отключить назойливых пользователей или занести их в черный список.

Сведения обо всех подключениях заносятся в специальный журнал, который вы можете просматривать позже пока вас не было за компьютером.

Можно настроить сигнализацию по факту подключения к определенным папкам или при подключении к ресурсам файлового сервера определенного пользователя. При срабатывании сигнализации и выполнении заданного условия можно выдать оповещение или сделать запись в журнале.

Программа предоставляет намного больше возможностей и позволяет организовать аудит доступа к файловым серверам с большим комфортом, чем это позволяют встроенные средства ОС Windows.

Контроль доступа к папкам и файлам в сети

Программа позволяет записывать в журнал (для просмотра в дальнейшем) список всех открытых файлов, логины пользователей, и адреса компьютеров, с которых осуществлялся доступ. Есть возможность занесения пользователей в "черный список" для их отключения при следующих попытках доступа. Можно настроить выдачу сигнализации при подключении определенных пользователей или при подключении с заданных адресов. Сигнализация поддерживает выдачу оповещения на экран, звуковое оповещение, отправка сообщения на e-mail, запуск приложений, запись в лог, отключение пользователя, занесения пользователя в черный список.

При помощи контекстного меню 10-Strike Connection Monitor можно быстро отключить сетевой доступ к папкам общего доступа, либо включить его вновь (при наличии прав администратора на компьютере).

Функции, полезные пользователям локальной сети: Проконтролируйте действия администратора сети! У вас есть возможность выяснить, к каким файлам на вашем компьютере он осуществляет доступ, включая использование административных ресурсов (c$, d$, e$, ...).

В программе предусмотрена "кнопочка" отключения доступа по сети.

Для администраторов сетей: Удостоверьтесь что никто кроме вас не имеет файлового доступа по сети к дискам важных серверов, и другим важным компьютерам. Получайте уведомления по e-mail или запускайте нужные программы при подключении определенных пользователей (или с определенных компьютеров с заданным IP- или MAC-адресом).

Определите наиболее любопытных пользователей сети, узнавайте о фактах выкачивания большого объема файлов или открытия большого количества файлов на серверах с конфиденциальной информацией.

Возможности программы

  • Аудит доступа к сетевым ресурсам компьютера (или файлового сервера) в локальной сети.
  • Мониторинг происходящего в любых локальных папках .
  • Контроль приватности! Узнайте, кто и когда осуществляет доступ к вашим личным данным через скрытые административные ресурсы (c$, d$, e$, ...).
  • Ведение лога (журнала) подключений и открытия файлов по сети .
  • Сигнализация с выдачей на экран, звуком, запуском приложений, оповещением по e-mail, блокировкой и отключением пользователей.
  • Быстрое и удобное ручное отключение/включение доступа к сетевым папкам с общим доступом.
  • Автоматическое отключение назойливых пользователей, скачивающих большие файлы (функция "черного списка").
  • Купите программу сейчас и получите бесплатные обновления и тех. поддержку в течение одного года.

Скачайте бесплатную 30-дневную версию прямо сейчас и попробуйте!

Операционная система Windows оснащена инструментом Проводник, который позволяет получить представление о том, что находится на дисках. Помимо списка файлов мы видим также информацию об их размере и дате создания или изменения. Это, однако, слишком мало информации, чтобы найти те данные, которые наиболее засоряют диск.

Приложения в этой статей можно разделить на две категории. Первая - это программы, которые специализируются на визуализации диска. Такое графическое представление данных воспринимается лучше, чем список файлов. Вторая группа инструментов - это приложения, которые показывают статистику участия отдельных типов файлов, среди всей информации, хранящейся на выбранных носителях памяти.

WinDirStat

Представляет размеры и количество файлов на жестком диске компьютера в графическом виде, а также на выбранных нами съемных носителях.

Преимущества WinDirStat

  • Доступная форма графической визуализации
  • Также работает в старых версиях Windows
  • Можно определить способ отображения элементов
  • Карты дерева

Недостатки:

  • Отсутствие возможности определения окраски большего числа типов файлов

Тип распространения : freeware
Цена : бесплатно

SpaceSniffer Portable

SpaceSniffer сканирует и показывает Вам содержимое выбранных дисков в удобном для чтения виде иерархической цветной схеме.

Преимущества SpaceSniffer

  • Не требует установки
  • Широкие возможности фильтрации данных, которые визуализируются

Тип распространения : freeware
Цена : бесплатно

TreeSize Free

Приложение TreeSize Free позволяет быстро просканировать содержимое любого носителя, а результаты отображаются в виде раскрывающегося дерева.

Преимущества TreeSize Free

  • Удобная сортировка по размеру, количеству файлов или папок
  • Справляется с альтернативными потоками данных файловой системы NTFS
  • Интерфейс адаптированный для сенсорных экранов

Недостатки:

  • Только в англоязычной версии

Тип распространения : freeware
Цена : бесплатно

JDiskReport

JDiskReport - для любителей статистики в виде диаграмм, напоминающих диаграммы из Excel. Вместо деревьев у нас тут гистограммы и круговые диаграммы.

Преимущества JDiskReport

  • Интересные графические схемы
  • Много различных статистических данных, в том числе разделение по размерам и дате создания
  • Доступна Java версия, которая работает на любой платформе с Java

Недостатки:

  • Версия для Windows требует установленной Java

Тип распространения : freeware
Цена : бесплатно

FolderSize

FolderSize выделяется окном сводки. Оно отображает диаграммы и список файлов или папок, которые можно сортировать по различным критериям.

Преимущества FolderSize

  • Отображает диаграммы и список файлов в одном окне
  • Позволяет приостанавливать и возобновлять процедуру сканирования, оперативно учитывает изменения в уже проверенных местах

Недостатки:

  • Бесплатная версия не позволяет сканировать сопоставленные жесткие диски и сетевые

Тип распространения : freeware
Цена : бесплатно

Я бы хотел посвятить статью обзору API, предоставляемых разными ОС для слежения за изменениями в директории. Статья появилась как результат моей работы над демонами слежения за изменениями для утилиты dklab_realsync ( , github репозиторий) и своей собственной, которую я пока что не хочу анонсировать.

Windows, ReadDirectoryChangesW

Для операционной системы Windows есть замечательная функция ReadDirectoryChangesW , которая возвращает набор изменений для директории, в том числе содержит флаг для работы рекурсивно (bWatchSubtree). Таким образом, реализация слежения за изменениями в директории не представляет особого труда и в том же dklab_realsync реализация занимает 80 строк кода или 3.5 Кб. Интересно, что в Windows эти события поддерживаются даже через SMB!

Тем не менее, существуют определенные подводные камни:

  • конечный размер буфера изменений, после которого очередь событий переполнится и эти события будут потеряны
  • согласно документации к watchdog package , событие перемещения посылается раньше, чем изменения становятся видны в ФС
  • размер буфера ограничен в 64 Кб для сетевой ФС

Вывод: Функция ReadDirectoryChangesW позволяет легко узнавать обо всех событиях в файлах, но, очередь событий может переполниться и тогда нужно будет выполнять полное сканирование ФС. Также, возможна доставка событий до того, как они станут актуальны.

Mac OS X, FSEvents

В Mac OS X также есть удобный и простой API для слежения за изменениями в файловой системе под названием FSEvents . С использованием этого API простейшая реализация демона составляет 50 строк кода или 1.8 кб. Очередь не может переполниться (!), но полное сканирование все же может потребоваться, если демон fseventsd «упадет». Стоит отметить, что этот API до версии 10.7 не предоставляет изменения по файлам, он сообщает только директории, в которых что-то изменилось. Поскольку события никуда не деваются и пишутся в лог (FSEvents service stores events in a persistent, per-volume database), детализация с точностью для директории позволяет сэкономить место на диске.

Вывод: FSEvents API для Mac OS X является самым необычным из всех подобных API. Очередь не переполняется и даже имеется возможность получить события из прошлого. Тем не менее, детализация событий дается с точностью до директории (до версии 10.7), что означает меньшую эффективность демона для синхронизации файлов.

Linux, inotify

В linux vanilla kernel существует один способ слежения за изменениями в директории - это inotify . Для этого API существует хорошая и подробная документация, но нет поддержки рекурсивного слежения за изменениями! Также, у inotify есть ограничение на максимальное количество объектов, за которыми можно следить. Простейшая реализация демона занимает уже 250 строк кода или 8 кб. Статическая сборка с использованием dietlibc занимает примерно 14 кб. Другим неприятным моментом является то, что приложение должно само поддерживать соответствия между watch descriptor (в нашем случае это всегда директория) и именем. Есть функция inotify_add_watch , которой передается путь до отслеживаемой директории, но нет обратной - inotify_get_path, которая бы возвращала этот самый путь по переданному дескриптору. События же содержат только watch descriptor и относительный путь до изменившегося файла внутри директории.

Подводные камни рекурсивного слежения за директорией через inotify:

  • Возможность переполнения очереди (длина очереди задается в /proc/sys/fs/inotify/max_queued_events)
  • Ограничение на максимальное количество объектов слежения (задается в /proc/sys/fs/inotify/max_user_watches)
  • Отсутствие возможности рекурсивного слежения за директорией
  • Необходимость отдельно обрабатывать случай, когда создается директория (например mkdir -p a/b/c). Вы получите событие о том, что создана директория «a», но пока вы навешиваете обработчик на эту директорию, в ней уже могут создать ещё одну директорию и событие об этом вам уже не придет.
  • Теоретическая возможность целочисленного переполнения watch descriptor (wd), так как он задается uint32

FreeBSD, Mac OS X, kqueue

FreeBSD и Mac OS X позволяют отслеживать за изменениями с помощью kqueue, который аналогичен inotify по своим характеристикам и также не имеет возможности рекурсивного слежения за директориями. Также, kqueue принимает в качестве аргументов дескрипторы открытых файлов (директорий), поэтому при использовании этого API ограничения на количество отслеживаемых директорий ещё более строгие.

Итого:

Как можно видеть, у всех API существуют свои достоинства и недостатки. Наименее удобными являются механизмы kqueue и inotify, но они же являются самыми эффективными и надежными. Коммерческие ОС предоставляют более удобные механизмы слежения за изменениями, но у них тоже есть свои особенности. Надеюсь, теперь вы имеете больше представления о том, как тяжела участь Dropbox и подобных программ, которым требуется со всем этим уживаться и осуществлять надежную и эффективную синхронизацию данных:).

* Картинка взята с

Если вы не единственный пользователь вашего компьютера и вам необходимо выяснить, какие изменения произошли с вашими файлами и папками за определенный период времени, вы можете воспользоваться специальными программами которые помогут вам отследить изменение файлов и получить точную информацию о всех изменениях файловой системы Windows.

Как отследить изменения файла и папки?

В рамках данной статьи я познакомлю вас с двумя программами. С программой FolderChangesView и с утилитой Disk Pulse. Обе программы являются бесплатным. Программа FolderChangeView полностью бесплатна. Disk Plus имеет бесплатную и платную версию (различий немного)

FolderChangesView: Отслеживание изменения папок и файлов

FolderChangesView — маленькая бесплатная утилита для отслеживания всех изменений происходящих с файлами в определенной папке и разделе жесткого диска.

Утилита в реальном времени сканирует заранее заданную папку или группу папок и отображает подробную информацию о всех изменениях. Весь результат представляется в удобной таблице.

Для начала необходимо скачать программу. Скачать FolderChangesView бесплатно с сайта разработчика вы можете по этой ссылке . Там же можно скачать русификатор, который необходимо разархивировать и бросить в папку с программой.

Настройка FolderChangesView

Программа не требует установки. После запуска программы появится окно настроек.


Отслеживание изменения файлов программой FolderChangesView

В окне настроек необходимо указать папку, несколько папок или раздел жесткого диска, который вам необходимо мониторить. В данном случае я выбрал папку — spysoftnet и отметил галочкой Сканировать также подкаталоги

В второй строке окна настроек вы можете установить папки, которые вы не хотите чтоб программа отслеживала. К примеру, я не хочу чтоб приложение следило за изменениями в папке — tmp. После того как вы установили папку, не забудьте отметить галочкой Exclude the folowing folders .

Также, вы можете установить минимальный и максимальный размер файла. После того как все настройки выбраны нажимаем на OK

Disk Pulse: Программа мониторинга файлов и папок

DiskPulse - еще одна программа мониторинга файлов, папок и жестких дисков, которая может показывать изменения в файловой системе Windows в режиме реального времени.


DiskPulse: Как отследить изменения файла и папки

В программе есть очень интересная, на мой взгляд, возможность отправки уведомлений по электронной почте или выполнения пользовательских команд (действий), в случае обнаружения всевозможных опасных критических изменений в системе.

Если вы оставите все настройки, которые установлены по умолчанию как есть, то будете получать информацию обо всех изменениях всей системы. Но если немного поковыряться в опциях, то сможете уменьшить количество данных. На картинке внизу вы видите как с легкостью с помощью нескольких кликов можно это сделать.


DiskPulse: Выбор папки или жесткого диска

В последней версии добавлена диаграмма, отображающая количество файлов, их типы и другую полезную информацию.


DiskPulse: Программа мониторинга файлов и папок

Скачать DiskPulse бесплатно с сайта разработчика вы можете по этой ссылке .

Подведем итоги. Обе программы отлично работаю и справляются с основной функцией мониторинга файлов и папок и достойны внимания. Программа «FolderChangesView » программа мне понравилась больше. Хотя вторая программа более функциональна. Программы бесплатны и не содержат вирусов, поэтому попробуйте обе и решите сами какую использовать.


Данные утилиты помогут отследить активность пользователей, а также выявить и анализировать скрытую работу вредоносных программ. О том какие вредоносные программы существуют мы писали в статье — .

В этот обзор не вошли еще 2 программы мониторинга файлов и папок. На которые я сделаю обзор в следующей статье. Поэтому, чтобы не пропустить обновления, подписывайтесь на наш паблик вконтакте и других социальных сетях.

Видео: Обзор Disk Pulse