shiy720 发表于 2024-6-8 10:27:08

C# 中以使用 System.Net.NetworkInformation 命名空间来配置 IPv4 和 IPv6 网络。下


C# 中可以使用 System.Net.NetworkInformation 命名空间来配置 IPv4 和 IPv6 网络。下面是一些示例代码:

获取网络接口

using System.Net.NetworkInformation;

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

foreach (NetworkInterface adapter in adapters)
{
    Console.WriteLine(adapter.Name);
    Console.WriteLine(adapter.Description);
}
设置 IPv4 地址

using System.Net.NetworkInformation;

NetworkInterface adapter = NetworkInterface.GetAllNetworkInterfaces().First();

IPv4InterfaceProperties ipv4Properties = adapter.GetIPv4Properties();

ipv4Properties.Index = 1; // 设置索引
ipv4Properties.Address = IPAddress.Parse("192.168.0.100"); // 设置 IPv4 地址
ipv4Properties.SubnetMask = IPAddress.Parse("255.255.255.0"); // 设置子网掩码
ipv4Properties.GatewayAddress = IPAddress.Parse("192.168.0.1"); // 设置默认网关

adapter.SetIPv4Properties(ipv4Properties);
设置 IPv6 地址

using System.Net.NetworkInformation;

NetworkInterface adapter = NetworkInterface.GetAllNetworkInterfaces().First();

IPv6InterfaceProperties ipv6Properties = adapter.GetIPv6Properties();

ipv6Properties.Index = 1; // 设置索引
ipv6Properties.Address = IPAddress.Parse("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); // 设置 IPv6 地址
ipv6Properties.PrefixLength = 64; // 设置前缀长度

adapter.SetIPv6Properties(ipv6Properties);
设置 DNS 服务器

using System.Net.NetworkInformation;

NetworkInterface adapter = NetworkInterface.GetAllNetworkInterfaces().First();

adapter.DnsAddresses.Add(IPAddress.Parse("8.8.8.8")); // 设置 DNS 服务器
adapter.DnsAddresses.Add(IPAddress.Parse("8.8.4.4")); // 设置备用 DNS 服务器
设置网关

using System.Net.NetworkInformation;

NetworkInterface adapter = NetworkInterface.GetAllNetworkInterfaces().First();

adapter.GatewayAddresses.Add(IPAddress.Parse("192.168.0.1")); // 设置默认网关
禁用/启用网络接口

using System.Net.NetworkInformation;

NetworkInterface adapter = NetworkInterface.GetAllNetworkInterfaces().First();

adapter.Enable(); // 启用网络接口
adapter.Disable(); // 禁用网络接口
注意:以上代码仅供参考,实际实现中需要根据具体情况进行修改和调整。同时,需要注意权限问题,修改网络设置可能需要管理员权限。

另外,需要注意的是,C# 中的网络设置 API 只能在本地机器上生效,对远程机器无效。如果需要配置远程机器的网络设置,需要使用其他方法,例如使用 WMI、PowerShell 或其他远程管理工具。
页: [1]
查看完整版本: C# 中以使用 System.Net.NetworkInformation 命名空间来配置 IPv4 和 IPv6 网络。下