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

У меня есть 2 компьютера с Windows 8, которые не включены в домен активного каталога. Компьютер 1 поделился папкой с каждым. Компьютер 2 копирует файлы с компьютера 1 из общей папки.

Проблема: я ожидал увидеть события чтения ввода-вывода на компьютере 1 (с помощью procmon), но этого не произошло. Я знаю, что могу получить метаданные ввода-вывода, включив мониторинг доступа к файлам, который кажется неэффективным и сложным для агрегирования с данными, которые я получаю от драйвера файловой системы минифильтра (подумайте о чтении файлов procmon)

Вопросы:

  • Какие протоколы используются на компьютере 1 и 2 для доступа к файлам через сетевые папки?
  • Почему procmon не видит события ввода-вывода на компьютере 1, когда компьютер 2 обращается к своей общей папке?

1 ответ1

3

Какие протоколы используются на компьютере 1 и 2 для доступа к файлам через сетевые папки?

Протокол совместного доступа к файлам Windows называется SMB, когда-то сокращенно от "Блокировка сообщений сервера". Он может работать на уровне "сеанса NetBIOS" (TCP-порт 139), но чаще используется поверх необработанного TCP (порт 445).

(Версия 1 также часто называлась "CIFS", хотя, насколько мне известно, определенный CIFS не на 100% идентичен Windows SMBv1.)

В Windows сервер SMB работает как служба LanmanServer внутри одного из процессов svchost.exe . (Я не совсем уверен, но я думаю, что частью этого может быть и драйвер ядра, который не будет отображаться в ProcMon из-за отсутствия системных вызовов на уровне, который ProcMon наблюдает за ними.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .