Список сетевых ресурсов

Я нахожусь в процессе написания приложения для сканирования локальной сети на python или ironpython. Но это оказывается не так просто из-за отсутствия хороших библиотек!! (да, даже я удивлен!! может плохо искал).

ЭТО — это одна библиотека на С#, и кажется, что ее очень легко использовать для этой цели.

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

Есть ли у какого-либо органа лучшее решение или рекомендация.


person Arunmu    schedule 25.10.2011    source источник


Ответы (1)


Загляните в WMI. Вот ссылка на библиотеку Python, которая позволяет получать доступ к запросам WMI http://timgolden.me.uk/python/wmi/index.html вот ссылка на то, как использовать WMI для получения списка общих сетевых ресурсов http://vbscriptblog.com/vbscript/wmi/shares/wmi-vbscript-to-show-the-the-the-network-shares-of-a-computer/ последний скрипт находится в VBS. Так что, если вы объедините эти два вместе, вы получите желаемый результат.

person Vlad    schedule 25.10.2011
comment
Я проверил это. С помощью wmi я могу просматривать свои общие ресурсы, но когда я использую его для кого-то другого, он дает отказ в доступе, хотя аутентификация не требуется. Вы сталкивались с этим? - person Arunmu; 25.10.2011
comment
Я столкнулся с этим утверждением, что брандмауэру удаленной машины нужны следующие порты, открытые для WMI: TCP 135, TCP 4168 и UDP 9256. Конечно, это ограничение не может быть :( - person Arunmu; 25.10.2011
comment
Без TCP 135 работать не будет. Какие еще два, я не знаю. - person glglgl; 25.10.2011
comment
Я всегда получаю x_access_denied: ‹x_wmi: непредвиденная ошибка COM (-2147024891, «Отказано в доступе», ошибка с WMI при использовании для других машин. Это может быть проблема с правами пользователя, но это не подходит для моего приложения. - person Arunmu; 25.10.2011