如何用C#设置本机IP地址/子网/网关/DNS
时间: 2023-07-04 11:17:51 浏览: 73
可以使用C#中的System.Net.NetworkInformation.NetworkInterface类和System.Net.NetworkInformation.IPAddressCollection类来设置本机IP地址/子网/网关/DNS。
首先需要获取本机的网络接口,可以通过以下代码实现:
```
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
```
然后可以遍历接口列表,找到需要设置的接口。假设我们要设置的是第一个接口,可以通过以下代码获取该接口的IP配置信息:
```
IPInterfaceProperties ipProperties = interfaces[0].GetIPProperties();
```
接下来,可以通过以下代码来设置IP地址/子网/网关:
```
UnicastIPAddressInformation ipInfo = ipProperties.UnicastAddresses[0];
IPAddress ipAddress = ipInfo.Address;
IPAddress subnetMask = ipInfo.IPv4Mask;
GatewayIPAddressInformation gatewayInfo = ipProperties.GatewayAddresses[0];
IPAddress gatewayAddress = gatewayInfo.Address;
```
最后,可以通过以下代码来设置DNS服务器地址:
```
ipProperties.DnsAddresses.Clear();
ipProperties.DnsAddresses.Add(IPAddress.Parse("8.8.8.8"));
```
完整代码如下:
```
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
IPInterfaceProperties ipProperties = interfaces[0].GetIPProperties();
UnicastIPAddressInformation ipInfo = ipProperties.UnicastAddresses[0];
IPAddress ipAddress = ipInfo.Address;
IPAddress subnetMask = ipInfo.IPv4Mask;
GatewayIPAddressInformation gatewayInfo = ipProperties.GatewayAddresses[0];
IPAddress gatewayAddress = gatewayInfo.Address;
ipProperties.DnsAddresses.Clear();
ipProperties.DnsAddresses.Add(IPAddress.Parse("8.8.8.8"));
```