Получение информации о входе в сеть с помощью сценария ADSI

На следующем снимке экрана показан фрагмент сетевого соединения, перехваченного Wireshark. Это часть процесса входа в систему, когда клиент, присоединенный к домену, пытается войти в систему Windows Server 2008 R2 (которая является контроллером домена). Используемый протокол — LDAP без установления соединения (CLDAP), также известный как LDAP Ping.

Обмен данными с Active Directory — обнаружен Wireshark

Пример ответа:

введите здесь описание изображения

Похоже, что запрос пытается получить некоторую «отфильтрованную» информацию об атрибуте «Netlogon». Этот атрибут задокументирован здесь: http://msdn.microsoft.com/en-us/library/cc223260.aspx

Кроме того, как описано в http://msdn.microsoft.com/en-us/library/cc223254.aspx, этот атрибут является рабочим, то есть:

... сервер возвращает атрибут только тогда, когда он явно запрошен.

Я попытался написать простой сценарий ADSI, чтобы получить больше информации об этом атрибуте, но получил ошибку. Вот сценарий:

Set obj = GetObject("LDAP://rootDSE")

attArray = Array("netlogon") 
obj.GetInfoEx attArray, 0
WScript.Echo obj.netlogon
  • Сообщение об ошибке: Объект не поддерживает это свойство или метод: «obj.netlogon».
  • Код ошибки: 800A01B6

Не могли бы вы помочь мне со сценарием?


person M.S. Dousti    schedule 18.12.2012    source источник
comment
Очевидно, вы не применили фильтр, как это сделал Wireshark comm. Сначала повторите попытку с этим фильтром.   -  person Michael-O    schedule 19.12.2012
comment
@Michael-O: Спасибо за комментарий. Мне нравилось видеть, какие еще значения хранятся в атрибуте netlogon, поэтому я не применял никаких фильтров. Это возможно? Я имею в виду, можно ли применить фильтр с подстановочными знаками, например *, чтобы получить все?   -  person M.S. Dousti    schedule 19.12.2012
comment
атрибут netlogon не может быть найден в RootDSE. Просто выполните этот поиск: (netlogon=*) и вы увидите все листы с этим атрибутом.   -  person Michael-O    schedule 19.12.2012
comment
@ Майкл-О: Еще раз спасибо. Я пытался выполнить (netlogon=*) несколькими способами, но, поскольку я новичок в сценариях ADSI, я не смог получить результат. Не могли бы вы написать свое решение в качестве ответа?   -  person M.S. Dousti    schedule 19.12.2012
comment
Я использую не ADSI, а браузер LDAP. Мне не удалось найти ни одного узла с таким атрибутом в нашем лесу. Лес огромен, миллионы объектов.   -  person Michael-O    schedule 19.12.2012
comment
@ Майкл-О: Я тоже. Но, согласно документации Microsoft, цитируемой в вопросе, а также трафику, перехваченному Wireshark, он ДЕЙСТВИТЕЛЬНО существует (и является операционным атрибутом rootDSE).   -  person M.S. Dousti    schedule 19.12.2012
comment
Извините, не здесь. Любой пример источника, что должно быть в этом атрибуте?   -  person Michael-O    schedule 19.12.2012
comment
@Michael-O: Я наконец понял, что не так: согласно этой странице: Затем клиент использует этот IP-адрес для установления соединения UDP со службой LDAP на контроллере домена и запроса атрибута NETLOGON в RootDSE. Этот атрибут на самом деле не существует в каталоге; скорее, он используется для проверки связи LDAP. Дополнительные сведения: msdn.microsoft.com/en- us/library/cc223811(v=prot.20).aspx.   -  person M.S. Dousti    schedule 19.12.2012
comment
Вы тоже можете поделиться ответом сервера?   -  person Michael-O    schedule 19.12.2012
comment
@Michael-O: я изменил вопрос, включив в него как ответ, так и метод, используемый для запроса операционных атрибутов (с использованием GetInfoEx). Очевидно, что новый метод предназначен для реальных атрибутов и не будет работать для виртуальных атрибутов, таких как Netlogon. (Я просто поместил это туда для дальнейшего использования)   -  person M.S. Dousti    schedule 19.12.2012
comment
Я думаю, это не будет работать с ADSI, потому что он работает на TCP, не так ли?   -  person Michael-O    schedule 19.12.2012
comment
@ Майкл-О: я не уверен. Может быть одна или несколько проблем: 1) TCP и UDP, как вы упомянули. 2) Отсутствие фильтров означает отсутствие ответа или даже ошибку. 3) Netlogon не является реальным атрибутом и, следовательно, не может быть запрошен обычным образом. В любом случае, я получил достаточно информации, чтобы продолжить (в ссылке, касающейся LDAP-пинга). Спасибо за сотрудничество!   -  person M.S. Dousti    schedule 19.12.2012


Ответы (1)


Для дальнейшего использования я предоставляю один из моих комментариев выше в качестве ответа:

Наконец-то я понял, что не так: согласно этой странице: "Клиент затем использует этот IP-адрес для установления UDP-подключения к службе LDAP на контроллере домена и запроса атрибута NETLOGON в RootDSE. Этот атрибут фактически не существует в каталоге; скорее, он используется для выполнения проверки связи LDAP». Дополнительные сведения: http://msdn.microsoft.com/en-us/library/cc223811(v=prot.20).aspx

person M.S. Dousti    schedule 25.12.2012