ASP.NET獲取IP與MAC地址的方法

2010-08-28 10:51:27來(lái)源:西部e網(wǎng)作者:

  獲取服務(wù)器的IP地址方法以DNS法較為簡(jiǎn)單實(shí)用,如下:

private void ButtonIP_Click(object sender, System.EventArgs e)
{ Syste  m.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;if ( addressList.Length>1){ TextLIP.Text = addressList[0].ToString();TextSIP.Text = addressList[1].ToString();}else{TextLIP.Text = addressList[0].ToString();TextSIP.Text = "沒(méi)有可用的連接";}}
 
  獲取服務(wù)器的IP地址與MAC地址另一方法如下:

using System.Management;string stringMAC = "";string stringIP = "";ManagementClass MC = new ManagementClass "Win32_NetworkAdapterConfiguration");ManagementObjectCollection MOC= MC.GetInstances();foreach(ManagementObject MO in MOC){if ((bool)MO["IPEnabled"] == true){stringMAC += MO["MACAddress"].ToString();TextMAC.Text = stringMAC.ToString();string[] IPAddresses = (string[]) MO["IPAddress"];if(IPAddresses.Length > 0)stringIP = IPAddresses[0];TextIP.Text = stringIP.ToString();}}
 
  獲取客戶端本機(jī)的IP地址相當(dāng)簡(jiǎn)易,方法如下:

using System.Net;TextIP.Text=Page.Request.UserHostAddress;
 
  如要獲取客戶端本機(jī)的MAC地址就相對(duì)復(fù)雜些,得導(dǎo)入調(diào)用兩個(gè)API,用ARP協(xié)議獲取,但這樣只能獲取到同網(wǎng)段機(jī)器的MAC,對(duì)于跨網(wǎng)段的得利用IP掃描或cmd中nbtstat命令獲取MAC地址。也可通過(guò)讀取系統(tǒng)注冊(cè)表值或WMI的數(shù)據(jù)庫(kù)來(lái)獲取。各位如有簡(jiǎn)易可行的好辦法請(qǐng)留言告訴我。

關(guān)鍵詞:ASP.NET

贊助商鏈接: