ASP.NET获取IP与MAC地址的方法
2011-08-08 07:23
791 查看
获取服务器的IP地址方法以DNS法较为简单实用,如下:
private void ButtonIP_Click(object sender, System.EventArgs e)
{
System.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 = "没有可用的连接";
}
}
获取服务器的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();
}
}
获取客户端本机的IP地址相当简易,方法如下:
using System.Net;
TextIP.Text=Page.Request.UserHostAddress;
如要获取客户端本机的MAC地址就相对复杂些,得导入调用两个API,用ARP协议获取,但这样只能获取到同网段机器的MAC,对于跨网段的得利用IP扫描或cmd中nbtstat命令获取MAC地址。也可通过读取系统注册表值或WMI的数据库来获取。
获取客户端IP:
1public string GetUserIP()
2 {
3 string _userIP;
4 if(Request.ServerVariables["HTTP_VIA"] == null)
5 {
6 userIP= Request.UserHostAddress;
7 }
8 else
9 {
10 userIP= Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
11 }
12 return userIP;
13 }
14
获取客户端MAC地址:
1[DllImport("Iphlpapi.dll")]
2 private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
3 [DllImport("Ws2_32.dll")]
4 private static extern Int32 inet_addr(string ip);
5
6 private void Page_Load(object sender, System.EventArgs e)
7 {
8 // 在此处放置用户代码以初始化页面
9 try
10 {
11 string userip=Request.UserHostAddress;
12 string strClientIP = Request.UserHostAddress.ToString().Trim();
13 Int32 ldest = inet_addr(strClientIP); //目的地的ip
14 Int32 lhost = inet_addr(""); //本地服务器的ip
15 Int64 macinfo = new Int64();
16 Int32 len = 6;
17 int res = SendARP(ldest,0, ref macinfo, ref len);
18 string mac_src=macinfo.ToString("X");
19 if(mac_src == "0")
20 {
21 if(userip=="127.0.0.1")
22 Response.Write ("正在访问Localhost!");
23 else
24 Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "<br>");
25 return;
26 }
27
28 while(mac_src.Length<12)
29 {
30 mac_src = mac_src.Insert(0,"0");
31 }
32
33 string mac_dest="";
34
35 for(int i=0;i<11;i++)
36 {
37 if (0 == (i % 2))
38 {
39 if ( i == 10 )
40 {
41 mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2));
42 }
43 else
44 {
45 mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2));
46 }
47 }
48 }
49
50 Response.Write ("欢迎来自IP为"+userip+ "<br>" + ",MAC地址为"+mac_dest+"的朋友!"
51
52 + "<br>");
53 }
54 catch(Exception err)
55 {
56 Response.Write(err.Message);
57 }
58 }
59
获取服务器IP一:
1private void ButtonIP_Click(object sender, System.EventArgs e)
2{
3 Syste m.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
4if ( addressList.Length>1)
5{
6TextLIP.Text = addressList[0].ToString();
7TextSIP.Text = addressList[1].ToString();
8}
9else
10{
11TextLIP.Text = addressList[0].ToString();TextSIP.Text = "没有可用的连接";
12}
13}
14
15
获取服务器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();
}
}
private void ButtonIP_Click(object sender, System.EventArgs e)
{
System.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 = "没有可用的连接";
}
}
获取服务器的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();
}
}
获取客户端本机的IP地址相当简易,方法如下:
using System.Net;
TextIP.Text=Page.Request.UserHostAddress;
如要获取客户端本机的MAC地址就相对复杂些,得导入调用两个API,用ARP协议获取,但这样只能获取到同网段机器的MAC,对于跨网段的得利用IP扫描或cmd中nbtstat命令获取MAC地址。也可通过读取系统注册表值或WMI的数据库来获取。
获取客户端IP:
1public string GetUserIP()
2 {
3 string _userIP;
4 if(Request.ServerVariables["HTTP_VIA"] == null)
5 {
6 userIP= Request.UserHostAddress;
7 }
8 else
9 {
10 userIP= Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
11 }
12 return userIP;
13 }
14
获取客户端MAC地址:
1[DllImport("Iphlpapi.dll")]
2 private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
3 [DllImport("Ws2_32.dll")]
4 private static extern Int32 inet_addr(string ip);
5
6 private void Page_Load(object sender, System.EventArgs e)
7 {
8 // 在此处放置用户代码以初始化页面
9 try
10 {
11 string userip=Request.UserHostAddress;
12 string strClientIP = Request.UserHostAddress.ToString().Trim();
13 Int32 ldest = inet_addr(strClientIP); //目的地的ip
14 Int32 lhost = inet_addr(""); //本地服务器的ip
15 Int64 macinfo = new Int64();
16 Int32 len = 6;
17 int res = SendARP(ldest,0, ref macinfo, ref len);
18 string mac_src=macinfo.ToString("X");
19 if(mac_src == "0")
20 {
21 if(userip=="127.0.0.1")
22 Response.Write ("正在访问Localhost!");
23 else
24 Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "<br>");
25 return;
26 }
27
28 while(mac_src.Length<12)
29 {
30 mac_src = mac_src.Insert(0,"0");
31 }
32
33 string mac_dest="";
34
35 for(int i=0;i<11;i++)
36 {
37 if (0 == (i % 2))
38 {
39 if ( i == 10 )
40 {
41 mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2));
42 }
43 else
44 {
45 mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2));
46 }
47 }
48 }
49
50 Response.Write ("欢迎来自IP为"+userip+ "<br>" + ",MAC地址为"+mac_dest+"的朋友!"
51
52 + "<br>");
53 }
54 catch(Exception err)
55 {
56 Response.Write(err.Message);
57 }
58 }
59
获取服务器IP一:
1private void ButtonIP_Click(object sender, System.EventArgs e)
2{
3 Syste m.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
4if ( addressList.Length>1)
5{
6TextLIP.Text = addressList[0].ToString();
7TextSIP.Text = addressList[1].ToString();
8}
9else
10{
11TextLIP.Text = addressList[0].ToString();TextSIP.Text = "没有可用的连接";
12}
13}
14
15
获取服务器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();
}
}
相关文章推荐
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取服务器IP与MAC地址的方法
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取客户端IP及MAC地址
- ASP.NET实现根据IP获取省市地址的方法
- ASP.NET获取客户端IP及MAC地址
- 在asp.net中获取mac地址的方法(C#后台获取的方法和前台Javascript(调用ActiveX)获取的方法)
- ASP.NET获取客户端IP及MAC地址
- 总结 asp.net 和 javascript获取本地IP(MAC)和服务器IP(MAC)的方法
- ASP.NET获取客户端IP及MAC地址
- ASP.NET获取客户端IP及MAC地址
- ASP.NET获取客户端IP及MAC地址