Что такое строгое имя узла драйвера

Обновлено: 08.07.2024

Члены большинства типов в пространстве имен System.IO имеют параметр path , который позволяет указать абсолютный или относительный путь к ресурсу в файловой системе. Этот путь передается в API файловой системы Windows. В этом разделе рассматриваются форматы путей к файлам, которые можно использовать в операционных системах Windows.

Традиционные пути DOS

Стандартный путь DOS может состоять из трех компонентов:

  • Буква тома или диска, после которой следует разделитель томов ( : ).
  • Имя каталога. Символ разделителя каталогов служит для разделения подкаталогов во внутренней иерархии каталога.
  • Необязательное имя файла. Символ разделителя каталогов служит для разделения пути к файлу и его имени.

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

Путь Описание:
C:\Documents\Newsletters\Summer2018.pdf Абсолютный путь к файлу из корня диска C: .
\Program Files\Custom Utilities\StringFinder.exe Абсолютный путь из корня текущего диска.
2018\January.xlsx Относительный путь к файлу в подкаталоге текущего каталога.
..\Publications\TravelBrochure.pdf Относительный путь к файлу в каталоге, который является одноранговым для текущего каталога.
C:\Projects\apilibrary\apilibrary.sln Абсолютный путь к файлу из корня диска C: .
C:Projects\apilibrary\apilibrary.sln Относительный путь из текущего каталога диска C: .

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

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

В приведенном ниже примере показано различие между абсолютными и относительными путями. Предполагается, что каталог D:\FY2018\ существует и вы не установили какой-либо текущий каталог для диска D:\ из командной строки перед запуском этого примера.

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

UNC-пути

UNC-пути (универсальное соглашение об именовании) используются для доступа к сетевым ресурсам и имеют следующий формат:

  • Имя сервера или узла, которому предшествуют символы \\ . В качестве имени сервера может выступать имя компьютера NetBIOS, а также IP-адрес или полное доменное имя (поддерживаются адреса IPv4 и IPv6).
  • Имя общего ресурса, которое отделяется от имени узла символами \ . Имя сервера и имя общего ресурса в совокупности образуют том.
  • Имя каталога. Символ разделителя каталогов служит для разделения подкаталогов во внутренней иерархии каталога.
  • Необязательное имя файла. Символ разделителя каталогов служит для разделения пути к файлу и его имени.

Ниже приводятся некоторые примеры UNC-путей:

Path Описание
\\system07\C$\ Корневой каталог диска C: на компьютере system07 .
\\Server2\Share\Test\Foo.txt Файл Foo.txt в тестовом каталоге тома \\Server2\Share .

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

Пути к устройствам DOS

В операционной системе Windows используется унифицированная объектная модель, которая указывает на все ресурсы, включая файлы. Эти пути к объектам доступны из окна консоли и предоставляются на уровень Win32 с использованием специальной папки с символьными ссылками, с которыми сопоставляются устаревшие пути DOS и UNC. Доступ к этой специальной папке осуществляется с использованием синтаксиса пути к устройству DOS, который может иметь одну из приведенных ниже форм:

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

Путь к устройству DOS состоит из следующих компонентов:

Описатель пути к устройству ( \\.\ или \\?\ ), который идентифицирует путь как путь к устройству DOS.

Символьная ссылка на "реальный" объект устройства (C: в случае имени диска или Volume в случае GUID тома).

Первый сегмент пути к устройству DOS после описателя пути к устройству идентифицирует том или диск. (Например, \\?\C:\ и \\.\BootPartition\ .)

Для UNC-путей существует специальная ссылка, которая называется UNC . Пример:

Для UNC-путей к устройствам часть сервера или общего сетевого ресурса образует том. Например, в пути \\?\server1\e:\utilities\\filecomparer\ часть server1\utilities представляет сервер или общий сетевой ресурс. Это важно при вызове такого метода, как Path.GetFullPath(String, String) с сегментами с относительным путем к каталогу, поскольку переход дальше тома невозможен.

Пути к устройствами DOS по определению являются полными. Сегменты с относительным путем к каталогу ( . и .. ) в них не допускаются. Они никогда не задаются относительно текущего каталога.

Пример. Способы задать ссылку на один и тот же файл

В следующем примере демонстрируются некоторые способы задать ссылку на файл с использованием API в пространстве имен System.IO. В этом примере создается экземпляр объекта FileInfo и используются его свойства Name и Length, чтобы отобразить имя и длину файла.

Нормализация путей

Практически все передаваемые в API Windows пути нормализуются. При нормализации в Windows выполняются следующие действия:

  • Идентифицируется путь.
  • Текущий каталог применяется к неполным (относительным) путям.
  • Выполняется канонизация разделителей каталогов.
  • Вычисляются относительные компоненты каталога ( . для текущего и .. для родительского каталога).
  • Удаляются некоторые символы.

Нормализация осуществляется неявно, но при необходимости вы можете выполнить ее явно, вызвав метод Path.GetFullPath, который создает оболочку для вызова функции GetFullPathName(). Также можно вызвать функцию GetFullPathName() Windows напрямую с помощью P/Invoke.

Идентификация пути

На первом шаге процесса нормализации осуществляется идентификация типа пути. Пути могут относиться к одной из нескольких категорий:

  • Пути к устройствам: начинаются с двух разделителей и знака вопроса или точки ( \\? или \\. ).
  • UNC-пути: начинаются с двух разделителей без знака вопроса или точки.
  • Полные пути DOS: начинаются с буквы диска, разделителя томов и компонентов ( C:\ ).
  • Пути к устаревшим устройствам ( CON , LPT1 ).
  • Пути относительно корня текущего диска: начинаются с одного разделителя компонентов ( \ ).
  • Пути относительно текущего каталога указанного диска: начинаются с буквы диска и разделителя томов, но не содержат разделителя компонентов ( C: ).
  • Пути относительно текущего каталога: начинаются с любых других символов ( temp\testfile.txt ).

Тип пути определяет, будет ли каким-либо образом применяться текущий каталог. Кроме того, от типа пути зависит применяемый корень.

Работа с устаревшими устройствами

Если путь указывает на устаревшее устройство DOS, например CON , COM1 или LPT1 , он преобразуется в путь к устройству путем добавления перед ним последовательности \\.\ и возвращается в таком виде.

Путь, который начинается с имени устаревшего устройства, всегда интерпретируется как путь к устаревшему устройству с помощью метода Path.GetFullPath(String). Например, путь к устройству DOS CON.TXT будет выглядеть как \\.\CON , а путь к устройству DOS COM1.TXT\file1.txt будет выглядеть как \\.\COM1 .

Применение текущего каталога

Если путь не является полным, система Windows применяет к нему текущий каталог. К UNC-путям и путям к устройствам текущий каталог не применяется. Также текущий каталог не применяется к полным путям к диску с разделителем C:\ .

Если путь начинается с одного разделителя компонентов, применяется диск текущего каталога. Например, для пути к файлу \utilities и текущего каталога C:\temp\ в результате нормализации будет получен путь C:\utilities .

Если путь начинается с буквы диска, разделителя томов и не содержит разделителя компонентов, применяется последний текущий каталог, установленный из командной оболочки. Если последний текущий каталог не был установлен, применяется диск сам по себе. Например, для пути D:sources , текущего каталога C:\Documents\ и последнего текущего каталога D:\sources\ на диске D: в результате будет получен путь D:\sources\sources . Пути, задаваемые относительно диска, являются распространенными источниками ошибок программ и логики скрипта. Предположение, что путь, начинающийся с буквы и двоеточия, не является относительным, очевидно неверно.

Если путь не начинается с разделителя, применяются текущий диск и текущий каталог. Например, для пути к файлу filecompare и текущего каталога C:\utilities\ в результате будет получен путь C:\utilities\filecompare\ .

Канонизация разделителей

Все символы косой черты ( / ) преобразуются в стандартные разделители Windows, то есть символы обратной косой черты ( \ ). Если они присутствуют, последовательность символов косой черты после первых двух таких символов свертывается в один символ косой черты.

Вычисление относительных компонентов

При обработке пути выполняется вычисление любых его компонентов или сегментов, которые состоят из одной или двух точек ( . или .. ):

Если обнаруживается одна точка, текущий сегмент удаляется, поскольку он ссылается на текущий каталог.

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

Родительские каталоги удаляются только в том случае, если они не находятся после корня пути. Корень пути зависит от его типа. Это будет диск ( C:\ ) для путей DOS, сервер или общий сетевой ресурс для UNC-путей ( \\Server\Share ) и префикс пути к устройству для путей к устройствам ( \\?\ или \\.\ ).

Удаление знаков

Помимо удаленных ранее разделителей и относительных сегментов во время нормализации также удаляются некоторые дополнительные знаки:

Если сегмент заканчивается одной точкой, эта точка удаляется. (Сегмент, состоящий из одной или двух точек, нормализуется на предыдущем шаге. Сегмент, состоящий из трех или более точек, не нормализуется и фактически представляет собой допустимое имя файла или каталога.)

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

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

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

Пропуск нормализации

Как правило, любой путь, передаваемый в API Windows передается в функцию GetFullPathName и нормализуется. Существует одно важное исключение: путь к устройству, который начинается со знака вопроса, а не с точки. Если путь не начинается с последовательности \\?\ (обратите внимание на использование канонической формы с обратной косой чертой), он нормализуется.

Зачем нужно пропускать нормализацию? Существует три основных причины:

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

Повышение производительности за счет пропуска нормализации в тех случаях, когда нормализация уже выполнена.

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

Пути, начинающиеся с последовательности \\?\ , по-прежнему нормализуются, если явно передать их в функцию GetFullPathName.

Вы можете передавать пути длиной более MAX_PATH символов в функцию GetFullPathName без \\?\ . Она поддерживает пути произвольной длины, которая ограничивается лишь максимальным размером строки, поддерживаемым в Windows.

Регистр символов и файловая система Windows

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

Этот документ содержит информацию о том, как приступить к работе с технологией Intel Active Management (Intel AMT). Здесь содержится обзор возможностей этой технологии, информация о требованиях к системе, конфигурации клиента Intel AMT, а также средства разработки, доступные для создания приложений, поддерживающих Intel AMT.




Intel AMT поддерживает удаленные приложения, работающие под управлением Microsoft Windows * или Linux *. Intel AMT 2.0 или более поздней версии поддерживает только локальные приложения для Windows. Полный перечень требований к системе см. в руководстве по внедрению и справочном руководстве Intel AMT.

Приступая к работе

Для удаленного управления клиентом Intel AMT или для запуска примеров из SDK следует использовать отдельную систему для удаленного управления устройством Intel AMT. Дополнительные сведения см. в руководстве по внедрению и в справочном руководстве Intel AMT, находящемся в папке Docs в пакете Intel AMT SDK.

Что такое Intel Active Management?

Intel AMT входит в состав пакета решений Intel vPro. Если платформа поддерживает Intel AMT, то такими платформами можно удаленно управлять вне зависимости от состояния электропитания и от наличия или отсутствия действующей ОС.
В основе системы Intel AMT находится ядро Converged Security and Manageability Engine (CSME). Intel AMT является компонентом Intel vPro и использует ряд элементов архитектуры платформы Intel vPro. На рис. 1 показаны взаимоотношения между этими элементами.


Рисунок 1. Архитектура технологии Intel Active Management 11

Обратите внимание на сетевое подключение, связанное с Intel Management Engine (Intel ME). Используемый адаптер различается в зависимости от используемой версии Intel AMT.

  • Микропрограмма CSME содержит функциональность Intel AMT.
  • Во флеш-памяти хранится образ микропрограммы.
  • Для поддержки возможностей Intel AMT можно использовать ядро CSME, реализованное ОЕМ-производителем платформы. Удаленное приложение осуществляет установку и настройку корпоративной системы.
  • После включения микропрограмма копируется в оперативную память.
  • Микропрограмма выполняется на процессоре Intel с Intel ME и использует небольшую часть оперативной памяти (разъем 0) для хранения данных при выполнении. Поэтому для работы микропрограммы необходимо, чтобы в разъеме 0 был установлен модуль оперативной памяти и чтобы этот разъем был включен.

    Параметры, настраиваемые OEM-производителем:

  • Параметры настройки, например пароли, конфигурация сети, сертификаты и списки управления доступом.
  • Прочие данные конфигурации, например списки оповещений и политики защиты системы Intel AMT.
  • Конфигурация оборудования, определенная в BIOS при запуске компьютера.

  • Технологический процесс 14-нм
  • Платформа (мобильные устройства и настольные компьютеры)
  • Процессор Intel Core 6-го поколения
  • ЦП: SkyLake
  • Узел контроллера платформы: Sunrise Point

Новые возможности SDK Intel Active Management Technology версии 11.0

Настройка клиента Intel AMT

Подготовка клиента Intel AMT к использованию

На рис. 2 показаны этапы настройки устройства Intel AMT перед его использованием.


Рисунок 2. Ход настройки

Перед настройкой устройства Intel AMT в приложении Setup and Configuration Application (SCA) его необходимо подготовить, получив начальную информацию, и перевести в режим установки. Начальная информация будет различаться в зависимости от доступных компонентов выпуска Intel AMT и от настроек платформы, примененных ОЕМ-производителем. В таблице 1 приведены методики установки и настройки для разных версий Intel AMT.

Методика установки Применимость к версиям Intel AMT Дополнительные сведения
Традиционный режим 1.0; версии 2.x и 3.x в традиционном режиме Установка и настройка в традиционном режиме
SMB 2.x, 3.x, 4.x, 5.x Установка и настройка в режиме SMB
PSK С версии 2.0 до Intel AMT 10, упразднено в Intel AMT 11 Установка и настройка с помощью PSK
PKI 2.2, 2.6, 3.0 и более поздних версий Установка и настройка с помощью PKI (удаленная настройка)
Вручную 6.0 и более поздних версий Установка и настройка вручную (с версии 6.0)
CCM, ACM 7.0 и более поздних версий Режим управления клиента и режим управления администратора
Настройка клиентов вручную для Intel AMT 7.0 и более поздних версий
Таблица 1. Способы установки в зависимости от версии Intel AMT

Программное обеспечение Intel Setup and Configuration Software (Intel SCS) 11 можно использовать для подготовки систем ранних версий вплоть до Intel AMT 2.x. Дополнительные сведения о программе Intel SCS и уровнях подготовки, доступных для разных версий Intel AMT, см. на сайте Загрузить последнюю версию службы Intel Setup and Configuration Service (Intel SCS).

Советы по настройке вручную

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

  • Методы API не возвратят состояние PT_STATUS_INVALID_MODE, поскольку доступен только один режим.
  • По умолчанию протокол TLS отключен, его необходимо включить при настройке. Так будет всегда при настройке вручную, поскольку невозможно задать параметры TLS локально.
  • Локальные часы платформы будут использоваться до тех пор, пока не будет удаленно задано время по сети. Автоматическая настройка не будет успешно выполнена, если не задано сетевое время (а это можно сделать только после настройки TLS или Kerberos *). Включение TLS или Kerberos после настройки не будет работать, если не было задано сетевое время.
  • Пользовательский веб-интерфейс включен в системе по умолчанию.
  • Система по умолчанию включает SOL и IDE-R.
  • Система отключает прослушиватель перенаправления по умолчанию в Intel AMT, начиная с версии 10.
  • Если включить KVM локально через CSME, оно все равно не будет работать, пока администратор не активирует его удаленно.

Установка вручную

При включении платформа Intel AMT отображает экран запуска BIOS, затем обрабатывает MEBx. В ходе этого процесса можно получить доступ к Intel MEBX, но такой подход зависит от производителя BIOS. Некоторые возможные методы:

  • Большинство производителей BIOS добавляют возможность входа в CSME в меню однократной загрузки. Нажмите соответствующие клавиши (обычно используется сочетание клавиш Ctrl + P) и следуйте подсказкам на экране.
  • На некоторых ОЕМ-платформах на экране появляется предложение нажать клавиши <Ctrl + P> после процедуры пусковой самопроверки. При нажатии сочетания клавиш <Ctrl + P> управление переходит в главное меню Intel MEBx (CSME).
  • Некоторые ОЕМ-производители встраивают настройку CSME в BIOS (но такой подход применяется относительно редко).
  • Некоторые ОЕМ-производители предусматривают в BIOS возможность отобразить или скрыть предложение, нажав <Ctrl + P>, поэтому. если в меню однократной загрузки соответствующая команда отсутствует, проверьте наличие в BIOS возможности включить подсказку.

Режим управления клиента и режим управления администратора

После установки устройства с Intel AMT 7.0 или более поздней версии переходят в один из двух режимов управления.

    Режим управления клиента. Intel AMT входит в этот режим после проведения простой настройки на базе хоста (см. «Настройка на базе хостов (локальная)»). В этом режиме функциональность Intel AMT ограничена, поскольку для настройки на базе хоста достаточно более низкого уровня доверия.

В режиме управления администратора функциональность Intel AMT не имеет ограничений. Это связано с более высоким уровнем доверия при таком методе установки.

Ограничения режима управления клиента

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

  • Функция защиты системы недоступна.
  • Действия перенаправления (IDE-R и KVM, исключая запуск сеанса SOL) и изменения параметров загрузки (включая загрузку SOL) требуют дополнительного согласия пользователя. В этом режиме сотрудники удаленной службы ИТ-поддержки по-прежнему могут устранять неполадки в системах конечных пользователей с помощью Intel AMT.
  • Если назначен аудитор, то права аудитора не требуются для отмены подготовки.
  • Ряд функций заблокирован, чтобы предотвратить доступ недоверенного пользователя к платформе.

Настройка клиента Intel AMT 11.0 вручную

При использовании эталонной платформы Intel AMT (SDS или SDP) на экране появляется приглашение нажать клавиши <Ctrl + P>. После этого управление переходит в главное меню CSME.

В системах ОЕМ-производителей можно использовать меню однократной загрузки, а вход в CSME обычно является одним из вариантов загрузки в этом меню. Конкретные сочетания клавиш могут различаться в зависимости от ОЕМ-производителя, типа BIOS и модели.

Настройка клиентов Intel AMT 11.0 вручную с подключением только по Wi-Fi

У многих систем уже нет физического разъема для подключения к проводной локальной сети. Можно настроить и активировать Intel ME, затем использовать веб-интерфейс или какой-нибудь другой способ для настройки параметров беспроводного подключения.

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

  1. Войдите в CSME при запуске.
  2. Введите пароль по умолчанию (admin).
  3. Введите и подтвердите новый пароль.

  1. Введите имя узла.
  2. Введите имя домена.

    По умолчанию задано «Только KVM». Можно выбрать «Нет» или «Все».

Настройка клиентов Intel AMT 11.0 вручную с подключением по локальной сети

Введите пароль CSME по умолчанию (admin).

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

  1. Выберите «Настройка Intel AMT».
  2. Убедитесь, что установлен флажок «Выбор компонентов управления».
  3. Выберите «Включить доступ к сети».
  4. Выберите «Y», чтобы подтвердить включение интерфейса.
  5. Выберите «Настройка сети».
  6. Выберите настройку сетевых имен Intel ME.

  1. Введите имя узла.
  2. Введите имя домена.

    По умолчанию задано «Только KVM». Можно выбрать «Нет» или «Все».

Доступ к Intel AMT через веб-интерфейс

Администратор с правами пользователя может устанавливать удаленное подключение к устройству Intel AMT через веб-интерфейс. Для этого нужно ввести URL-адрес устройства. URL-адрес будет различаться в зависимости от того, включен ли протокол TLS.

Требования для поддержки Intel AMT

Помимо правильной настройки BIOS и CSME, требуется совместимый с Intel AMT адаптер беспроводной сети. Для управления ОС хоста с помощью Intel AMT требуются определенные драйверы и службы.

Чтобы убедиться в правильности загрузки драйверов и служб Intel AMT, найдите их в диспетчере устройств и в разделе «Службы» в ОС хоста. Регулярно заходите на сайт ОЕМ-производителя для получения обновленных версий BIOS, микропрограмм и драйверов.

Вот драйверы и службы, которые должны отображаться в ОС хоста.

Примечание. Уровень версии драйверов должен совпадать с уровнем версий микропрограммы и BIOS. Если установлены несовместимые версии, Intel AMT не будет работать с компонентами, которым требуются эти интерфейсы.

Физическое устройство — беспроводное подключение Ethernet

Требуемое программное обеспечение для Windows

Для удаленного управления драйвера устройств не требуются, но они необходимы для локального обмена данными с микропрограммой. Для функций обнаружения и настройки с помощью ОС требуются драйвер Intel MEI, драйвер SOL, служба LMS и приложение Intel Management and Security Status (Intel MSS).

Драйверы устройств — интерфейс Intel Management Engine Interface

Для подключения к микропрограмме требуется Intel MEI. По умолчанию драйвер Intel MEI автоматически устанавливается из Центра обновления Windows. Уровень версии драйвера Intel MEI должен быть таким же, как у Intel MEBX.

Драйвер Intel MEI отображается в диспетчере устройств в разделе «Системные устройства» под названием Intel Management Engine Interface.

Драйверы устройств — драйвер последовательной передачи по локальной сети

Драйвер SOL используется в операции перенаправления IDE при подключении удаленного накопителя для компакт-дисков.

Драйвер SOL отображается в диспетчере устройств в разделе «Порты» под названием «Intel Active Management Technology — SOL (COM3)».


Рисунок 3. Драйвер последовательной передачи по локальной сети

Служба — Intel Active Management Technology LMS Service

Служба Local Manageability Service (LMS) работает локально на устройстве Intel AMT и дает возможность локальным приложениям управления отправлять запросы и получать ответы. Служба LMS отвечает на запросы, отправленные локальному хосту Intel AMT, и отправляет их в Intel ME с помощью драйвера Intel MEI. Установщик службы находится в одном пакете с драйверами Intel MEI на веб-сайтах ОЕМ-производителей.

Обратите внимание, что при установке ОС Windows служба Центра обновления Windows устанавливает только драйвер Intel MEI. Службы IMSS и LMS не устанавливаются. Служба LMS обменивается данными из приложения ОС с драйвером Intel MEI. Если служба LMS не установлена, перейдите на веб-сайт ОЕМ-производителя и загрузите драйвер Intel MEI, который обычно находится в категории драйверов для наборов микросхем.


Рисунок 4. Драйвер интерфейса Intel Management Engine

LMS — это служба Windows, устанавливающаяся на платформу Intel AMT 9.0 или более поздней версии. Ранее, в версиях Intel AMT с 2.5 до 8.1, служба LMS называлась User Notification Service (UNS).

LMS получает набор оповещений от устройства Intel AMT. LMS записывает оповещение в журнал событий приложения Windows. Для просмотра оповещений щелкните правой кнопкой мыши Компьютер и выберите Управление компьютером > Системные программы > Просмотр событий > Приложение.

Приложение — Intel Management and Security Status

Открыть приложение Intel MSS можно с помощью значка в виде синего ключа в области уведомлений Windows.


Рисунок 5. Значок программы Intel Management and Security Status в области уведомлений

Вкладка «Общие»

На вкладке «Общие» в Intel MSS отображаются состояние компонентов Intel vPro, доступных на данной платформе, и журнал событий. На каждой вкладке приводятся дополнительные сведения.


Рисунок 6. Вкладка «Общие» в Intel Management and Security Status

Вкладка Intel AMT

Здесь локальный пользователь может проводить операции KVM и перенаправления носителей, использовать запрос справки и просматривать состояние защиты системы.


Рисунок 7. Вкладка Intel AMT в Intel Management and Security Status

Вкладка «Расширенные»

На вкладке «Расширенные» в Intel MSS отображается более подробная информация о конфигурации и компонентах Intel AMT. На снимке экрана, показанном на рис. 8, видно, что в этой системе настроена технология Intel AMT.


Рисунок 8. Вкладка «Расширенные» в Intel Management and Security Status

Intel Active Management Technology Software Development Kit (SDK)

В пакете Intel AMT Software Development Kit (SDK) доступны низкоуровневые возможности программирования, поэтому разработчики могут создавать приложения для управления, наиболее полно использующие Intel AMT.

Пакет средств для разработки ПО на основе Intel AMT представляет собой образец кода и набор API-интерфейсов, позволяющих разработчикам просто и быстро добавить в приложения поддержку Intel AMT. В состав SDK также входит полный комплект документации в формате HTML.

Пакет SDK представляет собой набор папок, которые можно скопировать в любое расположение. При этом следует копировать всю структуру папок, это обусловлено взаимной зависимостью между компонентами. На верхнем уровне находятся три папки: DOCS (содержит документацию для SDK), а также папки с примерами кода для Linux и Windows. Дополнительные сведения о том, как приступить к работе и использовать SDK, см. в руководстве по внедрению и справочном руководстве Intel AMT.

Дополнительные сведения о требованиях к системе и о сборке примеров кода можно получить, ознакомившись с разделом «Использование Intel AMT SDK» в руководстве по внедрению и справочном руководстве Intel AMT. Документация представлена в сети Intel Software Network: Пакет средств для разработки ПО на основе Intel AMT (последний выпуск).

А где этот порт адрес в драйвере порта? Он там диапазоны ввода-вывода говорят и прочие памяти. Куда смотретьто?

Да мне блин в это грузиться лень. Мнеб простенько какнить. Без затей.

диапазон ввода-вывода D030-D037
диапазон памяти 00000000F7205000-00000000F7205FFF
IRQ 0х00000010(16)

Тем не менее, карточка какие-то порты I/O умеет. > диапазон ввода-вывода D030-D037
Переключи её на другую конфигурацию в ДевайсМанагере или задай явно желаемый порт.

Возможности электропитания:
00000089
PDCAP_D0_SUPPORTED
PDCAP_D3_SUPPORTED
PDCAP_WAKE_FROM_D3_SUPPORTED

Сопоставления энергосбережения:
S0 -> D0
S1 -> Не определено
S2 -> Не определено
S3 -> D3
S4 -> D3
S5 -> D3

Код проблемы 000000000000
Зависимость шины LPTENUM\MicrosoftRawPort\6&27a4f08&0&LPT1
РодительPCI\VEN_9710&DEV_9912&SUBSYS_2000A000&REV_00\4&35cd761b&0&02E0
Дети LPTENUM\MicrosoftRawPort\6&27a4f08&0&LPT1
Код контейнера (00000000-0000-0000-ffff-ffffffffffff)
Требуется безопасное удаление ЛОжь
Описание устройства предоставненное шиной
Multifunction Device
Строгое имя узла драйвера oem1.inf:StnPorts.NTamd64:StnLptCard:2.0.1.0:mcs9950mf\stn_cascade_lpt

Дата установки 20.02.2014 15:37:34
Дата первой установки 20.02.2014 15:37:34
Дата сборки контейнера 16.10.2012 4:00:00
Версия сборки драйвера 2.0.1.0
Описание сборки драйвера PCIe to Multi Mode Parallel Port
Имя inf oem1.inf
Секция inf файла StnLptCard
расширение INF-файла .NTAMD64
Соотвествующий ИД устройства mcs9950mf\stn_cascade_lpt
Поставщик ASIX Electronics Corporation
Поставщик страницы свойств StnPorts.dll,ParallelPortPropPageProvider
Сойстановщики устройства StnCoInst.dll,CoInstaller
Ранг устанавливаемого драйвера 00FF0000
Полное имя класса Порты (COM и LPT)
Краткое имя класса Ports
Установщик классов MsPorts.Dll,PortsClassInstaller
Путь к значку классов %systemroot%\system32\setupapi.dll,-23
Выводимое имя Порты (COM и LPT)

Ресурсы
Диапазон ввода/вывода (I/O)D010-D017
Диапазон ввода/вывода (I/O)D000-D007
Диапазон памяти 00000000F7201000-00000000F7201FFF
Диапазон памяти 00000000F7200000-00000000F7200FFF

Этичный хакинг и тестирование на проникновение, информационная безопасность

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

Это имя компьютера в локальной сети можно использовать как полную альтернативу локальному IP адресу:

  • обращаться к совместным ресурсам (сетевые папки и принтеры)
  • обращаться к запущенным сетевым службам (веб-сервер, FTP и др.)

При этом не требуется какая-либо настройка DNS или файла hosts, поскольку такое распознавание имён обеспечивается NetBIOS. Мы уже сталкивались с NetBIOS, а точнее с одной из трёх его служб — NBT-NS — в статье «Взлом сетевой аутентификации Windows». Это одна из служб, которая эксплуатировалась для выполнения атаки.

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

Что такое NetBIOS

NetBIOS (Network Basic Input/Output System) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM/PC, разработан в виде интерфейса, который не зависит от фирмы-производителя. Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Он включает в себя интерфейс сеансового уровня (англ. NetBIOS interface), в качестве транспортных протоколов использует TCP и UDP.

  • широковещательные («b») узлы;
  • узлы точка-точка («p»);
  • узлы смешанного типа («m»).

IP-адрес может ассоциироваться с одним из указанных типов. B-узлы устанавливают связь со своим партнёром посредством широковещательных запросов. P- и M-узлы для этой цели используют netbios сервер имён (NBNS) и сервер распределения дейтаграмм (NBDD).

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

Службы NetBIOS

NetBIOS предоставляет три разных службы:

  • Служба имён (NetBIOS-NS) для регистрации и разрешения имён.
  • Служба рассылки дейтаграмм (NetBIOS-DGM) для связи без установления соединения.
  • Служба сеанса (NetBIOS-SSN) для связи с установлением соединения.

Служба имён (NetBIOS-NS)

Примитивы службы имён, предлагаемые NetBIOS:

  • Add name — регистрирует имя NetBIOS.
  • Add group name — регистрирует NetBIOS-имя группы.
  • Delete name — отменяет регистрацию имени NetBIOS или имени группы.
  • Find name — поиск имени NetBIOS в сети.

Разрешение имён NetBIOS не поддерживается Microsoft для Интернет-протокола версии 6 (IPv6).

Служба рассылки дейтаграмм (NetBIOS-DGM)

Режим датаграммы без установления соединения; Приложение отвечает за обнаружение и восстановление ошибок. В NBT служба дейтаграмм работает на UDP-порту 138.

Примитивы службы дейтаграмм, предлагаемые NetBIOS:

Служба сеанса (NetBIOS-SSN)

Примитивы службы сеанса, предлагаемые NetBIOS:

  • Call — открывает сеанс для удалённого имени NetBIOS.
  • Listen — прослушивание попыток открыть сеанс с именем NetBIOS.
  • Hang Up — закрыть сеанс.
  • Send — отправляет пакет на компьютер на другом конце сеанса.
  • Send No Ack — как Send, но не требует подтверждения.
  • Receive — ожидание поступления пакета от отправки на другом конце сеанса.

В исходном протоколе, используемом для реализации сервисов NetworkBIOS в сети PC-Network, для установления сеанса инициирующий компьютер отправляет запрос Open, на который отвечает подтверждение Open. Компьютер, запустивший сеанс, затем отправит пакет запроса сеанса, который запросит либо пакет подтверждения сеанса, либо пакет отклонения сеанса.

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

Как соотносится Имя NetBIOS с именем хоста в Интернете

Когда NetBIOS работает в сочетании с интернет-протоколами (например, NBT), каждый компьютер может иметь несколько имён: одно или несколько имён службы имен NetBIOS и одно или несколько имён хостов Интернета.

Имя NetBIOS

Имена NetBIOS представляют собой последовательность буквенно-цифровых символов. Следующие символы явно недопустимы: \/:*?"<>|. Начиная с Windows 2000, имена NetBIOS также должны соответствовать ограничениям на DNS-имена: они не могут состоять исключительно из цифр и дефиса ("-"), а символ точка (".") не могут отображаться в качестве первого или последнего символа. Начиная с Windows 2000, Microsoft не рекомендует включать любые символы точка (".") в имена NetBIOS, так что приложения могут использовать присутствие точки, чтобы отличить доменные имена от имён NetBIOS.

Файл Windows LMHOSTS предоставляет метод разрешения имён NetBIOS, который можно использовать в небольших сетях, в которых не используется сервер WINS. О файле LMHOSTS далее.

Интернет имя хоста

NetBIOS-имя Windows-машины не следует путать с именем хоста компьютера в Интернете (при условии, что компьютер также является хостом Интернета, а не узлом NetBIOS, что не обязательно должно иметь место). Как правило, компьютер, на котором запущены интернет-протоколы (будь то компьютер с Windows или нет), обычно имеет имя хоста (также иногда называемое именем компьютера). Первоначально эти имена хранились в файле hosts и предоставлялись им, но сегодня большинство таких имён являются частью иерархической системы доменных имен (DNS) (смотрите Введение в DNS терминологию, компоненты и концепции).

Обычно имя хоста компьютера Windows основывается на имени NetBIOS плюс первичный DNS-суффикс, которые оба задаются в диалоговом окне «Свойства системы». Также могут существовать суффиксы для конкретного соединения, которые можно просмотреть или изменить на вкладке DNS в Панели управления → Сеть → TCP / IP → Дополнительные свойства. Имена хостов используются такими приложениями, как telnet, ftp, веб-браузеры и т. д. Чтобы подключиться к компьютеру, использующему протокол TCP/IP, используя его имя, имя хоста должно быть преобразовано в IP-адрес, обычно DNS-сервером. (Также возможно работать со многими приложениями на основе TCP/IP, включая три, перечисленные выше, используя только IP-адреса, но это не норма.)

Как обнаружить NetBIOS

Можно запустить обычное сканирование TCP портов в локальной сети с помощью nmap:

И среди результатов можно обнаружить открытый TCP порт 139:


Если нас интересует только службы NetBIOS, то достаточно искать UDP порты 137 и 138 и TCP порты 137 и 139, воспользуемся Рецептами nmap и составим такую команду:

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


Можно воспользоваться ещё одним рецептом Nmap для сбора банеров служб, для этого добавим опции -sV --script=banner:

Благодаря последней команде мы дополнительно узнали:

  • используемую рабочую группу (WORKGROUP)
  • операционную систему для некоторых устройств (Windows 10)
  • некоторые открытые порты связаны с Samba smbd 3.X - 4.X

Дополнительно можно воспользоваться скриптами Nmap (NSE) — я нашёл 3 скрипта, которые связаны с NetBIOS:

nbd-info

Отображает информацию о протоколах и блочных устройствах с серверов NBD.

nbstat

Пытается получить имена NetBIOS и MAC-адрес цели.

broadcast-netbios-master-browser

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

Для их использования во время сканирования команда примерно следующая:


nbtstat

Программа nbtstat предназначена для отображения статистики протокола NetBIOS и текущих подключений TCP/IP с помощью NBT (NetBIOS через TCP/IP). Программа nbtstat предустановлена в Windows, то есть её не нужно скачивать и устанавливать, но нужно запускать в командной строке. Смотрите «Настройка рабочего окружения PowerShell в Windows и Linux».

Рассмотрим примеры использования nbtstat.

Чтобы по IP адресу узнать имя хоста используйте опцию -A:


Чтобы просмотреть имена компьютеров и их IP, сохранённые в кэше укажите опцию -c:


Чтобы узнать имя текущего компьютера используйте nbtstat с опцией -n:


Для вывода имён, определённых с помощью рассылки и WINS запустите такую команду:


Фильтры Wireshark для выделения NetBIOS трафика

Wireshark поддерживает практически все сетевые протоколы (смотрите «Фильтры Wireshark»), в том числе и протоколы NetBIOS.

Фильтр Wireshark для службы имён (NetBIOS-NS):

Широковещательный запрос, чтобы определить IP адрес по имени компьютера:



Запрос к определённому узлу для получения его имени хоста:



Фильтр Wireshark для службы рассылки дейтаграмм (NetBIOS-DGM):


Фильтр Wireshark для службы сеанса (NetBIOS-SSN):


Для фильтрации всего трафика NetBIOS:

Файл LMHOSTS

Файл LMHOSTS (LAN Manager Hosts) используется для разрешения (преобразования) доменных имён в Windows, когда другие методы, такие как WINS, не работают. Используется совместно с рабочими группами и доменами. Если вы ищете простой, общий механизм для локальной спецификации IP-адресов для определённых имён хостов (имён серверов), используйте файл HOSTS, а не файл LMHOSTS.

Файл, если он существует, читается как файл настроек LMHOSTS. Пример файла (lmhosts.sam) предоставляется. Он содержит документацию для ручной настройки файла.

В Windows NT 4.0, Windows 2000, Windows XP, Vista, 7, 8, 10, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016+ файл находится в %windir%\system32\drivers\etc\, и там же размещён пример файла (lmhosts.sam). Обратите внимание, что %windir% является переменной окружения, указывающей на папку, куда установлена Windows, обычно это C:\Windows.

Синтаксис файла LMHOSTS такой же, как и у HOSTS, то есть:

Эксплуатация NetBIOS

Программа для аудита безопасности NetBIOS можно разделить на 2 группы:

  • спуфинг NetBIOS для выполнения атак человек-посередине
  • сканирование NetBIOS для сбора информации

Программы для сканирования NetBIOS в большей части заброшены, поскольку практически всю информацию (имя, IP, MAC адрес) можно узнать либо стандартной утилитой Windows, либо сканером Nmap.

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

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

Invoke-Inveigh

Inveigh — это спуфер PowerShell ADIDNS/LLMNR/NBNS/mDNS/DNS и инструмент для атаки «человек посередине», предназначенный для помощи тестировщикам на проникновения/красным тимерам, которые ограничены системой Windows.

Пример запуска наблюдения без атаки:


Responder

nmbscan

nmbscan сканирует сетевые папки SMB/NetBIOS, используя протоколы NMB/SMB/NetBIOS. Это полезно для получения информации о локальной сети для таких целей, как аудит безопасности.

Он может получать такую информацию, как имя хоста NMB/SMB/NetBIOS/Windows, IP-адрес, имя хоста IP, MAC-адрес Ethernet, имя пользователя Windows, имя домена NMB/SMB/NetBIOS/Windows и главный браузер.

Он может обнаружить все узлы NMB/SMB/NetBIOS/Windows в локальной сети, используя списки узлов, поддерживаемые основными браузерами.

Имеется в репозиториях BlackArch:


Для сканирования подсети (очень медленно):

netbios-share-scanner

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


fakenetbios

Семейство инструментов, предназначенное для симуляции хостов Windows (NetBIOS) в LAN (локальной сети).

nbnspoof

Спуфер имён служб NetBIOS.

nbtenum

Утилита для Windows, которая может использоваться для перечисления информации NetBIOS с одного хоста или диапазона хостов. Для запуска на Windows.

nbtool

Несколько инструментов для изучения, атак и связи с NetBIOS и DNS.

nbname

Декодирует и отображает все имена NetBIOS пакетов, полученные на UDP порту 137 и другое! Для запуска на Windows.

nbtscan

NBTscan - это программа для сканирования IP для получения информации об имени NetBIOS.

Читайте также: