Программирование на C++ глазами хакера



Структура сети - часть 4


  • RESOURCE_GLOBALNET — все ресурсы сети;
  • RESOURCE_CONNECTED — подключенные ресурсы;
  • RESOURCE_REMEMBERED — запомненные ресурсы;
  • dwType — тип ресурсов, включаемых в перечисление. Возможны комбинации следующих значений:
    • RESOURCETYPE_ANY — все ресурсы сети;
    • RESOURCETYPE_DISK — сетевые диски;
    • RESOURCETYPE_PRINT — сетевые принтеры;
    • dwUsage — использование ресурсов, включаемых в перечисления. Возможны следующие значения:
      • 0 — все ресурсы сети;
      • RESOURCEUSAGE_CONNECTABLE — подключаемые;
      • RESOURCEUSAGE_CONTAINER — контейнерные;
      • lpNetResource — указатель на структуру NETRESOURCE. Если этот параметр равен нулю, то перечисление начинается с самой верхней ступени иерархии сетевых ресурсов. Ноль ставится для того, чтобы получить самый первый ресурс. Потом я передаю в качестве этого параметра указатель на уже найденный ресурс. Тогда перечисление начнется с него и продолжится дальше. Так я повторяю, пока не найдутся все ресурсы;
      • lphEnum — указатель, который понадобится В функции WnetEnumResource.
      • Теперь нужно рассмотреть структуру NETRESOURCE:

        typedef struct _NETRESOURCE { DWORD dwScope; DWORD dwType; DWORD dwDisplayType; DWORD dwUsage; LPTSTR lpLocalName; LPTSTR lpRemoteName; LPTSTR lpComment; LPTSTR lpProvider; } NETRESOURCE;

        Что такое dwScope, dwType и dwUsage, вы уже знаете. А вот остальные рассмотрим подробнее:

      • dwDisplayType — способ отображения ресурса:
        • RESOURCEDISPLAYTYPE_DOMAIN — это домен;
        • RESOURCEDISPLAYTYPE_GENERIC — нет значения;
        • RESOURCEDISPLAYTYPE_SERVER — сервер;
        • RESOURCEDISPLAYTYPE_SHARE — разделяемый ресурс;
        • lpLocalName — локальное имя;
        • lpRemoteName — удаленное имя;
        • lpComment — комментарий;
        • lpProvider — хозяин ресурса. Параметр может быть равен нулю, если хозяин неизвестен.
        • Теперь можно переходить к следующей функции:

          DWORD WNetEnumResource( HANDLE hEnum, // handle to enumeration LPDWORD lpcCount, // pointer to entries to list LPVOID lpBuffer, // pointer to buffer for results LPDWORD lpBufferSize // pointer to buffer size variable );




          Содержание  Назад  Вперед