`
qzriso
  • 浏览: 242628 次
  • 性别: Icon_minigender_1
  • 来自: ph
社区版块
存档分类
最新评论

asp.net 获取客户端IP与mac(MSN)

 
阅读更多
获取客户端IP:
以下为引用的内容: private string GetClientIP()
   {
   string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
   if (null == result || result == String.Empty)
   {
     result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
   }
asp?date=11-24&s=1227514233" class="logo" border="0" onload="return imgzoom(this,550);" style="cursor: pointer;" onclick="javascript:window.open(this.src);"/>   if (null == result || result == String.Empty)
   {
     result = HttpContext.Current.Request.UserHostAddress;
   }
   return result;
   }
获取MAC地址:
以下为引用的内容: DllImport("Iphlpapi.dll")]
   private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
   [DllImport("Ws2_32.dll")]
   private static extern Int32 inet_addr(string ip);
   private void Page_Load(object sender, System.EventArgs e)
   {
   // 在此处放置用户代码以初始化页面
   try
   {
     string userip=Request.UserHostAddress;
     string strClientIP = Request.UserHostAddress.ToString().Trim();
     Int32 ldest = inet_addr(strClientIP); //目的地的ip
     Int32 lhost = 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");
     if(mac_src == "0")
     {
     if(userip=="127.0.0.1")
       Response.Write ("正在访问Localhost!");
     else
       Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "
");
     return;
     }
     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));
       }
     }
     }
­
//方法二
using System.Text.RegularExpressions;
using System.Diagnostics;
public class test
{
         public test
         {}
         public static string GetCustomerMac(string IP) //para IP is the client's IP
         {
               string dirResults="";
               ProcessStartInfo psi   = new ProcessStartInfo();
               Process proc = new Process();
               psi.FileName = "nbtstat";
               psi.RedirectStandardInput = false;
               psi.RedirectStandardOutput = true;
               psi.Arguments = "-A " + IP;
               psi.UseShellExecute = false;
               proc = Process.Start(psi);
               dirResults = proc.StandardOutput.ReadToEnd();
               proc.WaitForExit();
               dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");
               Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?((.)*?)) __MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
               Match mc=reg.Match(dirResults+"__MAC");
           if(mc.Success)
             {
                 return mc.Groups["key"].Value;
           }
             else
           {
                 reg=new Regex("Host not found",RegexOptions.IgnoreCase|RegexOptions.Compiled);
                 mc=reg.Match(dirResults);
             if(mc.Success)
             {
                 return "Host not found!";
             }
             else
             {
                 return "";
             }
       }
   }
}
这种方法有些地方得好好摸索,不然看不懂的
//
获取服务器的IP地址方法以DNS法较为简单实用,如下:
   using System.Net;
­
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
分享到:
评论

相关推荐

    asp.net获取(客户端)MAC地址实例

    6. **IP到MAC映射**: 如果服务器与客户端在同一局域网内,服务器可以通过ARP协议查询特定IP对应的MAC地址,但这只适用于同一网络环境,并且对公网IP无效。 在实际应用中,获取客户端MAC地址的需求通常与特定的网络...

    ASP.NET获取客户端IP地址_系统版本_浏览器版本

    本文将详细介绍如何在ASP.NET中获取客户端的IP地址、操作系统版本和浏览器版本。 ### 获取客户端IP地址 在ASP.NET中,获取客户端IP地址是通过`HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]`来实现...

    asp.net获取客户端IP-用户名等信息

    在ASP.NET开发中,了解如何获取客户端的IP地址和用户名是至关重要的,这有助于实现诸如用户追踪、个性化体验以及安全控制等功能。以下是对这个主题的详细解析。 首先,让我们谈谈如何在ASP.NET中获取客户端的IP地址...

    ASP.NET 获取客户端IP和MAC地址的程序

    ### ASP.NET 获取客户端IP和MAC地址的技术解析 #### 一、引言 在现代网络环境中,获取客户端的IP地址和MAC地址是许多应用场景中的基本需求之一。例如,在网络安全监控、日志记录、地理位置追踪等方面都有着重要的...

    asp.net 获取客户端ip和mac地址

    asp.net 获取客户端ip和mac地址

    asp.net获取客户端IP用户名等信息

    在ASP.NET中,获取客户端的IP地址是常见的需求之一,这通常用于日志记录、安全控制或者地理位置定位等功能。 1. **通过`Page.Request.UserHostAddress`** 这是最简单直接的方式,它会返回客户端的IP地址。 ```...

    .net获取客户端主机名和ip地址

    以上方法虽然不能直接获取远程客户端的主机名和IP地址,但在某些情况下(如服务器端程序需要与客户端通信时)仍然非常有用。 #### 三、使用环境变量获取 除了以上两种方式外,还可以通过环境变量来获取相关信息。 ...

    asp.net_web_获取客户端IP和MAC地址

    例如,在企业内部网络中,可以配置DHCP服务器,当客户端获取IP地址时,服务器会记录其MAC地址。在这种情况下,你需要访问DHCP服务器的日志或者数据库来获取这些信息,而不是直接从HTTP请求中获取。 在`Web.Config`...

    asp.net获取客户端mac地址

    在ASP.NET中,获取客户端MAC(Media Access Control)地址是一项常见的需求,特别是在网络管理、设备认证或者特定的安全应用场景中。MAC地址是网络设备的物理地址,用于标识连接到网络的设备。然而,由于HTTP协议的...

    asp.net获取客户端的MAC地址

     } }}在ASP.NET中获取客户端的MAC地址,通常是因为在某些场景下需要更精确地识别用户,例如防止重复投票或者限制特定设备的访问。然而,需要注意的是,由于浏览器的安全限制,直接通过HTTP协议是无法直接获取到...

    ASP.NET获取本地IP和MAC地址

    在ASP.NET开发中,有时我们需要获取服务器或者客户端的IP地址和MAC地址来进行特定的功能实现,例如用户定位、网络管理或安全验证。以下是对这个主题的详细讲解。 首先,我们要了解IP地址和MAC地址的基本概念。IP...

    asp.net获取客户端、服务器端mac和ip地址

    在ASP.NET中,获取客户端和服务器端的MAC(媒体访问控制)地址以及IP地址是网络编程中的常见需求。MAC地址是设备在网络上的物理地址,而IP地址则是逻辑地址,它们一起构成了网络通信的基础。以下是对这些概念的详细...

    计算机毕业设计-asp.net FTP客户端设计与开发(源代码+)-毕设源码实例.zip

    计算机毕业设计_asp.net FTP客户端设计与开发(源代码+)__毕设源码实例.zip计算机毕业设计_asp.net FTP客户端设计与开发(源代码+)__毕设源码实例.zip计算机毕业设计_asp.net FTP客户端设计与开发(源代码+)__毕设源码...

    asp.net得到本机ip地址和Mac地址

    在ASP.NET应用程序开发中,有时我们需要获取客户端或服务器本身的IP地址以及MAC地址。这对于网络诊断、安全控制等场景非常有用。本文将详细介绍如何通过C#代码实现这一功能,并解释相关知识点。 #### 一、获取本机...

    ASP.net获取客户端MAC(C#)

    好几天了一直在为这个问题郁闷.今天终于测试通过了.里边只有一个default.aspx和它的代码文件.....net获取客户端的MAC.可以用来做很多事情哦..呵呵!这么辛苦,,,各位就赏点资源分吧.有其他问题可以找我

    asp.net获得用户IP和MAC地址的方法

    ### ASP.NET 获取用户IP与MAC地址的技术解析 #### 背景介绍 在网络应用开发过程中,经常需要收集访问者的相关信息来实现特定的功能需求,比如防止重复注册或恶意投票等行为。其中,获取客户端的IP地址和MAC地址是两...

    ASP.NET 获取客户端IP方法

    在***开发中,获取客户端IP地址是一个基本需求,尤其在我们需要记录用户访问日志、进行安全控制或实现地理位置相关的功能时。由于***可能部署在多层网络中,例如有负载均衡器或者代理服务器,所以获取真实的客户端IP...

    用ASP.Net获取客户端网卡的MAC.doc

    通过上述代码,我们可以在ASP.NET环境中实现从客户端获取MAC地址的功能。虽然这种方法有一定的局限性和潜在的安全风险,但在特定场景下仍然具有一定的实用价值。在实际部署时,开发者应当根据具体需求权衡其利弊,并...

    ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息

    本文将详细探讨如何在ASP.NET应用程序中获取客户端的操作系统、浏览器类型以及正在使用的.NET Framework版本。 首先,让我们来了解如何获取客户端操作系统的信息。在ASP.NET中,可以使用HttpRequest对象的UserAgent...

Global site tag (gtag.js) - Google Analytics