如题

解决方案 »

  1.   

    http://zhidao.baidu.com/question/109195062.html
      

  2.   

    arp -a  别人电脑的IP
      

  3.   

    public string GetServerIp()
            {
                string sIp = Dns.Resolve(Dns.GetHostName()).AddressList[0].ToString();
                //string sIp = Dns.GetHostEntry(Dns.GetHostName()).AddressList[1].ToString();
                return sIp;
            }        public string GetServerNameDns()
            {
                string sServerName = Dns.Resolve(Dns.GetHostName()).HostName;
                //string sServerName = Dns.GetHostEntry(Dns.GetHostName()).HostName;
                return sServerName;
            }        public string GetServerName()
            {
                string sName = "";
                try
                {
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        sName = mo.Path.Server;
                        break;
                    }
                    moc = null;
                    mc = null;
                }
                catch (Exception ex)
                {
                    sName = ex.Message;
                }
                return sName;
            }        public string GetServerLoginName()
            {
                string sName = "";
                try
                {
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        sName = mo["UserName"].ToString();
                        break;
                    }
                    moc = null;
                    mc = null;
                }
                catch (Exception ex)
                {
                    sName = ex.Message;
                }
                return sName;
            }        public string GetClientIp()
            {
                string sIp = "";
                try
                {
                    sIp = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                    if (null == sIp || sIp == String.Empty)
                    {
                        sIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                    }                if (null == sIp || sIp == String.Empty)
                    {
                        sIp = HttpContext.Current.Request.UserHostAddress;
                    }
                }
                catch (Exception ex)
                {
                    sIp = ex.Message;
                }
                return sIp;
            }        public string GetComputerName(string sIp)
            {
                string sName = "";
                try
                {
                    //IPHostEntry ipEntry = Dns.GetHostByAddress(sIp);
                    IPHostEntry ipEntry = Dns.GetHostEntry(sIp);
                    sName = ipEntry.HostName;
                }
                catch (Exception ex)
                {
                    sName = ex.Message;
                }
                return sName;
            }        public string GetMac()
            {
                string sMac = "";
                try
                {
                    //莉呼祑ン
                    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                        {
                            sMac = mo["MacAddress"].ToString().Replace(":", "-");
                            break;
                        }
                    }
                    moc = null;
                    mc = null;            
                }
                catch(Exception ex)
                {
                    sMac = ex.Message;
                }
                return sMac;
            }         public static string GetMac(string sIp)//肚患IP,MAC
            {
                string sMac = "";
                try
                {
                    System.Diagnostics.Process p = new System.Diagnostics.Process();
                    p.StartInfo.FileName = "nbtstat";
                    p.StartInfo.Arguments = "-a " + sIp;
                    p.StartInfo.UseShellExecute = false;
                    p.StartInfo.CreateNoWindow = true;
                    p.StartInfo.RedirectStandardOutput = true;
                    p.Start();
                    string sOutPut = p.StandardOutput.ReadToEnd() ;
                    int len = sOutPut.IndexOf("MAC Address = ");
                    if (len > 0)
                    {
                        sMac = sOutPut.Substring(len + 14, 17);
                    }
                    p.WaitForExit();
                }
                catch (Exception ex)
                {
                    sMac = ex.Message;
                }
                return sMac;
            }
      

  4.   

    SendARP
    http://topic.csdn.net/u/20090507/10/14847537-909e-42ad-8816-23c83ba11ac3.html
      

  5.   

    看看这个。
    http://hi.baidu.com/lianzhiting08/blog/item/6b69daece6886e232df53485.html
      

  6.   


     public static string GetMoAddress()
            {
                string text1 = "";
                ManagementObjectCollection collection1 = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances();
                using (ManagementObjectCollection.ManagementObjectEnumerator enumerator1 = collection1.GetEnumerator())
                {
                    while (enumerator1.MoveNext())
                    {
                        ManagementObject obj1 = (ManagementObject)enumerator1.Current;
                        if ((bool)obj1["IPEnabled"])
                        {
                            text1 = obj1["MacAddress"].ToString();
                        }
                        obj1.Dispose();
                    }
                }
                return text1.Replace(":", "N");
            }
      

  7.   

    我想获取的不是同一个网段的MAC地址,有解决办法吗?
      

  8.   

    针对你的问题,我再来一次
    http://zhidao.baidu.com/question/109195062.html