Сканирование расшареных папок.

Discussion in 'WASM.NETWORKS' started by gevara, Apr 20, 2007.

  1. gevara

    gevara максим

    Blog Posts:
    0
    Joined:
    Nov 10, 2006
    Messages:
    112
    Location:
    г. Пермь
    Сканирую расшаренные папки в сети рекурсивно вызывая WNetOpenEnum WNetEnumResource затем FindFirstFile FindNextFile. Данный алгоритм выдаёт не все папки, хотя доступ к ним есть - вручную зайти возможно. С чем это может быть связано? Можно ли сканировать расшаренные папки другим способом (может быть перебором ИП адресов локальной сети...)?

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

    http://studentsoft.dom.raid.ru/FindFiles.rar
     
  2. q_q

    q_q New Member

    Blog Posts:
    0
    Joined:
    Oct 5, 2003
    Messages:
    1,706
    gevara
    Я писал так:
    Code (Text):
    1. ...
    2. BOOL WINAPI EnumerateFunc(bla-bla-bla)
    3. {
    4. ...
    5.   if(RESOURCEUSAGE_CONTAINER == (lpnrLocal[i].dwUsage & RESOURCEUSAGE_CONTAINER))
    6.   {
    7.     if (RESOURCEDISPLAYTYPE_SERVER == lpnrLocal[i].dwDisplayType)
    8.       DisplayResources(lpnrLocal[i].lpRemoteName); // используя NetShareEnum,
    9.                                                    //  которая видит скрытые
    10.                                                    //  ресурсы, определяю
    11.                                                    //  расшаренные ресурсы
    12.     EnumerateFunc(bla-bla-bla);
    13.   }
    14. ...
    hint
    Сделай WIN32_FIND_DATA FindFileData глобальной. Какая глубина рекурсии при сканировании, например, C$.
     
  3. gevara

    gevara максим

    Blog Posts:
    0
    Joined:
    Nov 10, 2006
    Messages:
    112
    Location:
    г. Пермь
    ок. тема закрыта.