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 ōutput = p.StandardOutput.ReadToEnd();
int len = output.IndexOf("MAC Address = ");
if(len>0)
{
mac = output.Substring(len + 14, 17);
}
p.WaitForExit();
return mac;
}51Testing软件测试网 g].e1DU4x]
51Testing软件测试网-W,j~yz@bj3\ki
51Testing软件测试网Ui(V4`!_"S+s
4.直接获取本机IP地址
+X+w~p[8J's0 string strHostIP=""; 51Testing软件测试网1QYdYq2Q2c
IPHostEntry ōIPHost=Dns.Resolve(Environment.MachineName); 51Testing软件测试网)j _;N4sJ2q6B)_E!\(S
if(oIPHost.AddressList.Length>0) 51Testing软件测试网j'E5ur7Kd
strHostIP=oIPHost.AddressList[0].ToString(); 51Testing软件测试网7e p'z*|s"B(c
Console.WriteLine(strHostIP);