در این بخش می‌توانید در رابطه با شبکه و کلیه مباحث مربوط به آن بحث و تبادل نظر نمایید
Administrator

Administrator



نماد کاربر
پست ها

15442

تشکر کرده: 10108 مرتبه
تشکر شده: 3820 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

بدست آوردن ليست کاربران از يک سرو

توسط Mahdi1944 » شنبه 6 خرداد 1385 20:01

اگر دستگاه هدف شما سيستم عامل NT يا win2000 یا XP استفاده مي کند و دستگاه باشد شما با استفاده از تابع NetUserEnum ميتوانيد ليست کاربران دستگاه مشخص شده را بدست بياوريد اين در صورتی است که پورتهای ۱۳۷و۱۳۸و۱۳۹ TCP در دستگاه هدف باز باشد و شما اجازه دسترسی به آن را داشته باشيد لازم به ذکر است که در XP اين ضعف از موقع نصب وجود دارد شما برای اينکه اين ضعف از بين برود مي توانيد اين پورتها را ببنديد در زير برنامه برای اين کار نوشته شده است را مي بينيد اين تابع در فايل Lm.h يا Lmaccess.h وجود دارد و در Netapi32.lib. قابل استفاده است نوجه کنيد اين تابع از Windows NT 3.1 به با لا قابل استفاده است و در Windows 95/98 قابل استفاده نيست

#ifndef UNICODE
#define UNICODE
#endif

#include
#include
#include
#include

int wmain(int argc, wchar_t *argv[])
{
LPUSER_INFO_0 pBuf = NULL;
LPUSER_INFO_0 pTmpBuf;
DWORD dwLevel = 0;
DWORD dwPrefMaxLen = -1;
DWORD dwEntriesRead = 0;
DWORD dwTotalEntries = 0;
DWORD dwResumeHandle = 0;
DWORD i;
DWORD dwTotalCount = 0;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;

if (argc > 2)
{
fwprintf(stderr, L"Usage: %s [\\\\ServerName]\n", argv[0]);
exit(1);
}
// The server is not the default local computer.
//
if (argc == 2)
pszServerName = argv[1];
wprintf(L"\nUser account on %s: \n", pszServerName);
//
// Call the NetUserEnum function, specifying level 0;
// enumerate global user account types only.
//
do // begin do
{
nStatus = NetUserEnum(pszServerName,
dwLevel,
FILTER_NORMAL_ACCOUNT, // global users
(LPBYTE*)&pBuf,
dwPrefMaxLen,
&dwEntriesRead,
&dwTotalEntries,
&dwResumeHandle);
//
// If the call succeeds,
//
if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
{
if ((pTmpBuf = pBuf) != NULL)
{
//
// Loop through the entries.
//
for (i = 0; (i <dwEntriesRead>usri0_name);

pTmpBuf++;
dwTotalCount++;
}
}
}
//
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated buffer.
//
if (pBuf != NULL)
{
NetApiBufferFree(pBuf);
pBuf = NULL;
}
}
// Continue to call NetUserEnum while
// there are more entries.
//
while (nStatus == ERROR_MORE_DATA); // end do
//
// Check again for allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
//
// Print the final count of users enumerated.
//
fprintf(stderr, "\nTotal of %d entries enumerated\n", dwTotalCount);

return 0;
}
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

کاربران زیر از شما کاربر محترم جناب Mahdi1944 تشکر کرده اند:
sinaset

 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان