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

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

مدیران انجمن: SHAHRAM, شوراي نظارت

ارسال پست
Administrator
Administrator
نمایه کاربر
پست: 15899
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72687 بار
سپاس‌های دریافتی: 31681 بار
تماس:

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

پست توسط Mahdi1944 »

اگر دستگاه هدف شما سيستم عامل 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;
}
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

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

بازگشت به “شبکه”