تالار گفتمان مانشت
کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - نسخه‌ی قابل چاپ

کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - parniyan913 - 02 خرداد ۱۳۹۳ ۰۳:۱۷ ب.ظ

سلام بچه ها
لطفا اگر کسی می تونه کمکم کنه که خیلی گیرم...
ی برنامه وب دارم که باید تک تک سیستم ها رو به صورت منحصر به فرد بشناسه...
می تونم IP کلاینت رو بدست بیارم ولی این به دردم نمی خوره چون IP، ثابت نیست و در هر بار اتصال به شبکه یا اگر به صورت Automatic باشه، می تونه تغییر کنه. به ی چیزی مثل Mac Address کلاینت ها ( و نه سرور (Mac Address سرور را می تونم با C# بگیرم ولی مال کلاینت رو می خوام)) نیاز دارم و یا چیزی شبیه Mac Address که به ازای هر کامپیوتر اولا در دنیا منحصر به فرد باشه و دوم اینکه هیچوقت تغییر نکند و ثابت باشه.
کسی راه حلی داره؟

کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - Amoojan - 02 خرداد ۱۳۹۳ ۰۳:۵۲ ب.ظ


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

چیزی به جز کوکی و سشن و ای پی نداری... با همینا باید یه کاری بکنی...
------
یه سرچی کردم... ملت با اپلت جاوا و فلش و اینا مک ادرس گیر اوردن... شاید با جاوا اسکریپت هم بشه...

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - parniyan913 - 02 خرداد ۱۳۹۳ ۰۷:۵۹ ب.ظ

(۰۲ خرداد ۱۳۹۳ ۰۳:۵۲ ب.ظ)Amoojan نوشته شده توسط:  
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

چیزی به جز کوکی و سشن و ای پی نداری... با همینا باید یه کاری بکنی...
------
یه سرچی کردم... ملت با اپلت جاوا و فلش و اینا مک ادرس گیر اوردن... شاید با جاوا اسکریپت هم بشه...



مرسی دوست عزیز
بله با جاوااسکریپت و کوکی می شه ولی هیچ کدوم به درد من نمی خوره
جاواسکریپت ClientSide ست و به هیچ وجه به لحاظ امنیتی درست نیست که به اطلاعات و منابع سیستم دسترسی داشته باشه و خب البته نداره. برای جاوااسکریپت باید از ActiveX استفاده کنم. که کاربر باید اجازه نصب Activex من رو روی کلاینتش بده و اگر اجازه نده، کاری از دستم برنمی یاد و نمی تونم به اطلاعات کلاینتش دسترسی داشته باشم.
در مورد کوکی ها هم همین مشکل وجو دارد. کاربر می تونه از طریق Browser ش کوکی ها رو غیرفعال کنه . بازم من نمی تونم کاری انجام بدم !
باید ی روش ServerSide برای این کار پیدا کنم.
به هرحال ممنون از جوابتون.

کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - Mohammad-A - 03 خرداد ۱۳۹۳ ۰۲:۱۳ ب.ظ

شما نمیتونید به این دسترسی داشته باشید مگر با استفاده از برنامه‌نویسی سمت کاربر با راهکارهایی مثل جاوااسکریپت.
استفاده از راهکار Javascript هم منهای امن و... میتونه به سادگی توسط کابر غیرفعال بشه. البته باز راه حل‌های کنترلی میتونه پیدا بشه. اما اطمینان زیادی به نظرم نمیشه داشت. چون دنبال یک راه حل مطمئن هستیم دیگه...

برنامه‌نویسی سمت سرور روی سرور اجرا میشه و نتایج بر اساس محاسبات روی سرور هست.

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - parniyan913 - 06 خرداد ۱۳۹۳ ۰۲:۵۸ ب.ظ

(۰۳ خرداد ۱۳۹۳ ۰۲:۱۳ ب.ظ)mohammad-a نوشته شده توسط:  شما نمیتونید به این دسترسی داشته باشید مگر با استفاده از برنامه‌نویسی سمت کاربر با راهکارهایی مثل جاوااسکریپت.
استفاده از راهکار Javascript هم منهای امن و... میتونه به سادگی توسط کابر غیرفعال بشه. البته باز راه حل‌های کنترلی میتونه پیدا بشه. اما اطمینان زیادی به نظرم نمیشه داشت. چون دنبال یک راه حل مطمئن هستیم دیگه...

برنامه‌نویسی سمت سرور روی سرور اجرا میشه و نتایج بر اساس محاسبات روی سرور هست.


جوینده یابنده ست!
چند راه حل پیدا کردم که یکیشون به احتمال بیشتر از ۹۰% جواب میده.. فقط ی مشکل داره . اینکه صرفا به درد ویندوز می خوره نه هیچ سیستم عامل دیگه ای. ولی خب برای من فعلا کافیه ایران همه ویندوز دارن دیگه!Big Grin

کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - rad.bahar - 06 خرداد ۱۳۹۳ ۰۳:۰۸ ب.ظ

میشه راه حلتان را توضیح بدید شاید مشکل شما مشکل دیگران هم باشد.

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - parniyan913 - 06 خرداد ۱۳۹۳ ۰۳:۱۴ ب.ظ

(۰۶ خرداد ۱۳۹۳ ۰۳:۰۸ ب.ظ)rad.bahar نوشته شده توسط:  میشه راه حلتان را توضیح بدید شاید مشکل شما مشکل دیگران هم باشد.



باورکنید الان خیلی سرم شلوغه و درگیر کار دیگه ای هستم. ضمن اینکه راه حل هام فقط احتمالی هستند. اجازه بدید تست که کردم، اگه تیجه گرفتم، چشم... توضیح می دم براتون ... اگرهم نه که! خب نتیجه نگرفتم دیگهSad
ولی خب اعتقاد دارم که هر مساله ای راه حلی داردRolleyes بنابراین سعی می کنم پیداش کنم

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - Mohammad_OM - 07 شهریور ۱۳۹۳ ۰۲:۱۷ ب.ظ

سلام چند راه وجود داره

۱:

کد:
public string GetMACAddress()
{
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    String sMacAddress = string.Empty;
    foreach (NetworkInterface adapter in nics)
    {
        if (sMacAddress == String.Empty)// only return MAC Address from first card  
        {
            IPInterfaceProperties properties = adapter.GetIPProperties();
            sMacAddress = adapter.GetPhysicalAddress().ToString();
        }
    } return sMacAddress;
}

۲:

کد:
public string GetMACAddress()
{
    ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection objMOC = objMOS.Get();
    string MACAddress = String.Empty;
    foreach (ManagementObject objMO in objMOC)
    {
        if (MACAddress == String.Empty) // only return MAC Address from first card  
        {
            MACAddress = objMO["MacAddress"].ToString();
        }
        objMO.Dispose();
    }
    MACAddress = MACAddress.Replace(":", "");
    return MACAddress;
}


۳: این روش فقط با IE کار میکنه

کد:
<script language="javascript" type="text/javascript">
    function showMacAddress() {
        var obj = new ActiveXObject("WbemScripting.SWbemLocator");
        var s = obj.ConnectServer(".");
        var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
        var e = new Enumerator(properties);
        var output;
        output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
        output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
        while (!e.atEnd()) {
            e.moveNext();
            var p = e.item();
            if (!p) continue;
            output = output + '<tr bgColor="#FFFFFF">';
            output = output + '<td>' + p.Caption; +'</td>';
            output = output + '<td>' + p.MACAddress + '</td>';
            output = output + '</tr>';
        }
        output = output + '</table>';
        document.getElementById("box").innerHTML = output;
    }
</script>


good luck

کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - Amoojan - 07 شهریور ۱۳۹۳ ۰۵:۳۶ ب.ظ

الان اینا هرکدوم به چه زبونیه؟!

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - rad.bahar - 07 شهریور ۱۳۹۳ ۰۵:۵۵ ب.ظ

(۰۷ شهریور ۱۳۹۳ ۰۵:۳۶ ب.ظ)Amoojan نوشته شده توسط:  الان اینا هرکدوم به چه زبونیه؟!
اگر دقت کنید این سوال در زیر انجمن ASP.NET پرسیده شده است.

RE: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟ - Amoojan - 07 شهریور ۱۳۹۳ ۰۶:۱۵ ب.ظ

(۰۷ شهریور ۱۳۹۳ ۰۵:۵۵ ب.ظ)rad.bahar نوشته شده توسط:  
(07 شهریور ۱۳۹۳ ۰۵:۳۶ ب.ظ)Amoojan نوشته شده توسط:  الان اینا هرکدوم به چه زبونیه؟!
اگر دقت کنید این سوال در زیر انجمن ASP.NET پرسیده شده است.
بسیار عالی ممنون. Smile