ASP.NET获取IP地址以及MAC地址
2013-12-23 13:48
447 查看
(一)
/方法一
HttpContext.Current.Request.UserHostAddress;
//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
//方法三 (局域网)
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
//方法四(无视代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
//方法五
if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy
{
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else// not using proxy or can't get the Client IP
{
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
备注:
1. 有些代理是不会发给我们真实IP地址的
2. 有些客户端会因为“header_access deny”的安全设置而不发给我们IP
(二)使用IP获取MAC地址
private string GetCustomerMac(string IP)
{
Int32 ldest = inet_addr(IP);
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest, 0, ref macinfo, ref len);
string mac_src = macinfo.ToString("X");
while (mac_src.Length < 12)
{
mac_src = mac_src.Insert(0, "0");
}
string mac_dest = "";
for (int i = 0; i < 11; i++)
{
if (0 == (i % 2))
{
if (i == 10)
{
mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2));
}
else
{
mac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2));
}
}
}
return mac_dest;
}
/方法一
HttpContext.Current.Request.UserHostAddress;
//方法二
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
//方法三 (局域网)
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
//方法四(无视代理)
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
//方法五
if(Context.Request.ServerVariables["HTTP_VIA"]!=null) // using proxy
{
ip=Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); // Return real client IP.
}
else// not using proxy or can't get the Client IP
{
ip=Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
}
备注:
1. 有些代理是不会发给我们真实IP地址的
2. 有些客户端会因为“header_access deny”的安全设置而不发给我们IP
(二)使用IP获取MAC地址
private string GetCustomerMac(string IP)
{
Int32 ldest = inet_addr(IP);
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest, 0, ref macinfo, ref len);
string mac_src = macinfo.ToString("X");
while (mac_src.Length < 12)
{
mac_src = mac_src.Insert(0, "0");
}
string mac_dest = "";
for (int i = 0; i < 11; i++)
{
if (0 == (i % 2))
{
if (i == 10)
{
mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2));
}
else
{
mac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2));
}
}
}
return mac_dest;
}
相关文章推荐
- [Asp.Net]获取客户端IP以及MAC地址
- [Asp.Net]获取客户端IP以及MAC地址
- asp.net获取IP地址mac地址
- ASP.NET获取IP与MAC地址的方法
- Android获取WIFI状态下的IP地址以及MAC地址
- ASP.NET获取客户端IP及MAC地址
- ASP.NET获取IP与MAC地址的方法
- ASP.NET获取客户端IP及MAC地址
- ASP.NET以及JS获取URL和IP地址
- C# 获取本地IP地址以及MAC地址
- ASP.NET获取服务器IP与MAC地址的方法
- C# 获取本地IP客户端IP地址以及MAC地址
- ASP.NET获取IP与MAC地址的方法
- asp.net获取客户端的MAC(网卡地址)
- ASP.NET获取客户端IP及MAC地址
- ASP.NET获取客户端网卡使用的MAC地址信息
- ASP.NET获取客户端MAC地址
- ASP.NET获取客户端IP及MAC地址
- asp.net 获取客户机的网卡MAC地址
- ASP.NET获取客户端IP及MAC地址