如何获取多网卡的IP地址和对应的MAC地址

2022-04-13 教育 115阅读
第一种:
privatevoidGetIP()
{
stringhostName=Dns.GetHostName();//本机名
//System.Net.IPAddress[]addressList=Dns.GetHostByName(hostName).AddressList;//会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址
System.Net.IPAddress[]addressList=Dns.GetHostAddresses(hostName);//会返回所有地址,包括IPv4和IPv6
foreach(IPAddressipinaddressList)
{
listBox1.Items.Add(ip.ToString());
}
}
第二种:
staticstringGetLocalIp()
{
stringhostname=Dns.GetHostName();//得到本机名
//IPHostEntrylocalhost=Dns.GetHostByName(hostname);//方法已过期,只得到IPv4的地址
IPHostEntrylocalhost=Dns.GetHostEntry(hostname);
IPAddresslocaladdr=localhost.AddressList[0];
returnlocaladdr.ToString();
}
第三种:
stringstrUrl="提供IP查询的网站的链接";
Uriuri=newUri(strUrl);
WebRequestwebreq=WebRequest.Create(uri);
Streams=webreq.GetResponse().GetResponseStream();
StreamReadersr=newStreamReader(s,Encoding.Default);
stringall=sr.ReadToEnd();
inti=all.IndexOf("[")+1;
//分析字符串得到IP
returnip;

第四种:
privatevoidGetIP6()
{
Processcmd=newProcess();
cmd.StartInfo.FileName="ipconfig.exe";//设置程序名
cmd.StartInfo.Arguments="/all";//参数
//重定向标准输出
cmd.StartInfo.RedirectStandardOutput=true;
cmd.StartInfo.RedirectStandardInput=true;
cmd.StartInfo.UseShellExecute=false;
cmd.StartInfo.CreateNoWindow=true;//不显示窗口(控制台程序是黑屏)
//cmd.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;//暂时不明白什么意思

cmd.Start();
stringinfo=cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
cmd.Close();
textBox1.AppendText(info);
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com