您的位置:首页 > 编程语言 > C#

C# 获取本地IP地址以及MAC地址

2007-04-24 17:10 567 查看
 
[align=center]C# 获取本地IP地址以及MAC地址[/align]
 
1、通过主机名获取局域网IP地址;
            try
            {
                IPHostEntry ipHostEntry = Dns.GetHostEntry(txtHost.Text);//传递计算机名
                if (ipHostEntry.Aliases.Length > 0)
                {
                    foreach (string alias in ipHostEntry.Aliases)
                        txtIP.Text = alias;
                }
                //获取IP地址
                foreach (IPAddress addr in ipHostEntry.AddressList)
                    txtIPAddress.Text = addr.ToString();//获取IP地址
            }
            catch
            {
                MessageBox.Show("错误的主机名。");
            }
2、通过局域网IP地址获取主机名;
try
            {
               IPHostEntry ipHostEntry = Dns.GetHostByAddress(txtIP.Text); ;//传递IP地址
               txtHostName.Text = ipHostEntry.HostName.ToString()//取得主机名
            }
            catch
            {
               MessageBox.Show("错误的IP地址。");
            }
3、通过局域网IP地址获取Mac地址
public static string ReadMac(string ip)//传递IP地址,即可返回MAC地址
        {
            string mac = "";
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "nbtstat";
            p.StartInfo.Arguments = "-a " + ip;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.StartInfo.RedirectStandardOutput = true;            
            p.Start();
            string output = p.StandardOutput.ReadToEnd();
            int len = output.IndexOf("MAC Address = ");
            if(len>0)
            {
                mac = output.Substring(len + 14, 17);
            }            
            p.WaitForExit();            
            return mac;
        }
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string output