amitthakkar1987 Ответов: 4

мне нужен MAC - адрес клиентской машины, использующей asp.net


привет друзьях



мне нужен MAC - адрес клиентской машины, использующей asp.net

Sandeep Mewara

"Мне нужно".... вы хоть что-нибудь пробовали сами?

4 Ответов

Рейтинг:
1

anvas kuttan

namespace: using System.Management;
string id=" ";
ManagementObjectSearcher query = null;
ManagementObjectCollection queryCollection = null;

      try
      {
               query = new ManagementObjectSearcher("SELECT * FROM                                  Win32_NetworkAdapterConfiguration");
            queryCollection = query.Get();
            foreach (ManagementObject mo in queryCollection)
            {
              if (mo["MacAddress"] != null)
              {
                 id = mo["MacAddress"].ToString();
                 MessageBox.Show(id);
              }
            }
      }
      catch (Exception ex)
      {
            MessageBox.Show(ex.Source);
            MessageBox.Show(ex.Message);
      }


amitthakkar1987

он даст MAC-адрес сервера ... мне нужен MAC-адрес клиента

ambarishtv

var strComputer = ".";
var objWMIService = GetObject("winmgmts:\\\" + strComputer + "\\root\\cimv2");
var e = новый перечислитель(objWMIService.ExecQuery("Select * from Win32_NetworkAdapter","WQL",48));

для (;!е.атенд();электронная.метод MoveNext())
{ objItem = e.item();
WScript.Echo ("MACAddress:" + objItem.MACAddress)
}

Member 9518177

не работает

Рейтинг:
1

anvas kuttan

protected void Page_Load(object sender, EventArgs e)
       {
          string macid= GetMacAddress("pass IP Address of the mechine");
       }
       [DllImport("iphlpapi.dll", ExactSpelling = true)]
       public static extern int SendARP(int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen);
       public string GetMacAddress(string sName)
       {
           string s = string.Empty;
           System.Net.IPHostEntry Tempaddr = null;
           Tempaddr = (System.Net.IPHostEntry)Dns.GetHostEntry(sName);
           System.Net.IPAddress[] TempAd = Tempaddr.AddressList;
           string[] Ipaddr = new string[3];
           foreach (IPAddress TempA in TempAd)
           {
               Ipaddr[1] = TempA.ToString();
               byte[] ab = new byte[6];
               int len = ab.Length;
               int r = SendARP((int)TempA.Address, 0, ab, ref len);
               string sMAC = BitConverter.ToString(ab, 0, 6);
               Ipaddr[2] = sMAC;
               s = sMAC;
           }
           return s;
       }


anvas kuttan

это поможет я уверен просто скопируйте и вставьте код

hadi5526

очень хорошо .перед использованием этого кода добавьте
использование System.Net;
используя системы.Во время выполнения.InteropServices;

vgsonekar19

не работать

Member 12282638

где находится dll для этого

Рейтинг:
1

Ostwal Aarti

публичная строка GetMACAddress()
{
ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
ObjMOC ManagementObjectCollection = objMOS.Вам();
string MACAddress = строка.Пустой;
foreach (ManagementObject objMO в objMOC)
{
if (MACAddress == String.Пустой) // только возврат MAC-адреса с первой карты
{
MACAddress = objMO["MacAddress"].Метод toString();
}
objMO.Распоряжаться();
}
MACAddress = MACAddress.Заменять(":", "");
вернуться Масадрес;
}


CHill60

Вы понимаете, что этот вопрос был более 2 лет назад с уже опубликованными 3 решениями?

Рейтинг:
0

ambarishtv

Метод GetMacAdress без использования System.Management

private string GetMAC()
        {
            string macAddresses = "";

            foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (nic.OperationalStatus == OperationalStatus.Up)
                {
                    macAddresses += nic.GetPhysicalAddress().ToString();
                    break;
                }
            }
            return macAddresses;
        }


Michal Rezler

ГИТ работает. Большое спасибо