C# 获取windows当前IP地址
时间: 2023-08-18 15:36:47 浏览: 55
可以使用以下代码来获取Windows当前IP地址:
```csharp
using System.Net;
using System.Net.Sockets;
public static string GetLocalIPAddress()
{
string ipAddress = "";
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
ipAddress = ip.ToString();
break;
}
}
return ipAddress;
}
```
此代码将返回Windows当前使用的IPv4地址。
相关问题
C# 获取windows当前ip地址与mac
可以使用以下代码获取Windows当前IP地址和MAC地址:
```csharp
using System.Net;
using System.Net.NetworkInformation;
using System.Linq;
public static string GetLocalIPAddress()
{
string ipAddress = "";
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
ipAddress = ip.ToString();
break;
}
}
return ipAddress;
}
public static string GetMacAddress()
{
string macAddress = "";
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.OperationalStatus == OperationalStatus.Up && adapter.NetworkInterfaceType != NetworkInterfaceType.Loopback)
{
macAddress = string.Join(":", (from z in adapter.GetPhysicalAddress().GetAddressBytes() select z.ToString("X2")).ToArray());
break;
}
}
return macAddress;
}
```
上述代码中,GetLocalIPAddress()函数将返回Windows当前使用的IPv4地址,而GetMacAddress()函数将返回Windows当前使用的MAC地址。请注意,如果存在多个活动网络适配器,则GetMacAddress()函数返回的是第一个不是环回适配器的MAC地址。
C# 修改当前IP地址
可以使用以下代码修改当前IP地址:
```
using System.Net;
using System.Net.NetworkInformation;
// 获取当前网络接口
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
// 遍历网络接口
foreach (NetworkInterface adapter in adapters)
{
// 获取IPv4属性
IPInterfaceProperties properties = adapter.GetIPProperties();
IPv4InterfaceProperties ipv4 = properties.GetIPv4Properties();
// 检查是否启用DHCP
if (!ipv4.IsDhcpEnabled)
{
// 获取IP地址
UnicastIPAddressInformationCollection addresses = properties.UnicastAddresses;
foreach (UnicastIPAddressInformation address in addresses)
{
// 修改IP地址
if (address.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
// 创建新的IP地址
IPAddress newAddress = IPAddress.Parse("192.168.0.100");
// 设置IP地址
properties.UnicastAddresses.Remove(address);
properties.UnicastAddresses.Add(new UnicastIPAddressInformation(newAddress, address.PrefixLength));
// 重启网络接口
adapter.Disable();
adapter.Enable();
break;
}
}
}
}
```
需要注意的是,修改IP地址需要管理员权限,否则会抛出 `System.Net.NetworkInformation.NetworkInformationException` 异常。