当前位置:编程学习 > C#/ASP.NET >>

根据IP获得机器名

IPHostEntry ipHostEntry = Dns.GetHostByAddress(strHostIP);
string strHostName = ipHostEntry.HostName.ToString();

为什么只有strHostIP是本机IP的时候才能获得机器名,其他IP都获得"localhost" 而不是其他机器名呢?
还有什么方法可以根据IP获机器名?
求各位大哥帮助!! --------------------编程问答-------------------- //获取客户端ip
        public string GetIp()
        {
            IPAddress[] ipstr = System.Net.Dns.GetHostAddresses(GetHostName());

            return ipstr[0].ToString();
        }


 public   string GetIPAddress() 
        { 
            try 
            { 
                //获取IP地址 
                string st = ""; 
                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
                ManagementObjectCollection moc = mc.GetInstances(); 
                foreach (ManagementObject mo in moc) 
                { 
                    if ((bool)mo["IPEnabled"] == true) 
                    { 
                        //st=mo["IpAddress"].ToString(); 
                        System.Array ar; 
                        ar = (System.Array)(mo.Properties["IpAddress"].Value); 
                        st = ar.GetValue(0).ToString(); 
                        break; 
                    } 
                } 
                moc = null; 
                mc = null; 
                return st; 
            } 
            catch 
            { 
                return "unknow"; 
            } 
            finally 
            { 
            } 

        }  --------------------编程问答-------------------- 计算机名称在网络层根本不会传输的吧 ,

有些木马软件也能看到,写个木马植入客户机,然后取得电脑名传输给你。 --------------------编程问答--------------------  public  string GetComputerName() 
        { 
            try 
            { 
                return System.Environment.GetEnvironmentVariable("ComputerName"); 
            } 
            catch 
            { 
                return "unknow"; 
            } 
            finally 
            { 
            } 
        }  --------------------编程问答--------------------  //取机器名   
        public string GetHostName()
        {
            return System.Net.Dns.GetHostName();
        }
--------------------编程问答-------------------- liulangdeyuyu,不是获取本机机器名,是根据局域网内的一个IP获得该IP的机器名。。。 --------------------编程问答-------------------- 给你介绍个软件:超级网上邻居(ipbook) --------------------编程问答-------------------- 大哥,我要在代码里面用,要超级网上邻居干嘛。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,