мне нужен MAC - адрес клиентской машины, использующей asp.net
привет друзьях
мне нужен MAC - адрес клиентской машины, использующей asp.net
Sandeep Mewara
"Мне нужно".... вы хоть что-нибудь пробовали сами?
"Мне нужно".... вы хоть что-нибудь пробовали сами?
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); }
он даст MAC-адрес сервера ... мне нужен MAC-адрес клиента
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)
}
не работает
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; }
это поможет я уверен просто скопируйте и вставьте код
очень хорошо .перед использованием этого кода добавьте
использование System.Net;
используя системы.Во время выполнения.InteropServices;
не работать
где находится dll для этого
публичная строка 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.Заменять(":", "");
вернуться Масадрес;
}
Вы понимаете, что этот вопрос был более 2 лет назад с уже опубликованными 3 решениями?
Метод 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; }
ГИТ работает. Большое спасибо