请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 30|回复: 0

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

[复制链接] IP属地:广东省广州市荔湾区
发表于 2024-6-8 10:27:08 | 显示全部楼层 |阅读模式

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

获取网络接口

  1. using System.Net.NetworkInformation;

  2. NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

  3. foreach (NetworkInterface adapter in adapters)
  4. {
  5.     Console.WriteLine(adapter.Name);
  6.     Console.WriteLine(adapter.Description);
  7. }
复制代码

设置 IPv4 地址

  1. using System.Net.NetworkInformation;

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

  3. IPv4InterfaceProperties ipv4Properties = adapter.GetIPv4Properties();

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

  8. adapter.SetIPv4Properties(ipv4Properties);
复制代码

设置 IPv6 地址

  1. using System.Net.NetworkInformation;

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

  3. IPv6InterfaceProperties ipv6Properties = adapter.GetIPv6Properties();

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

  7. adapter.SetIPv6Properties(ipv6Properties);
复制代码

设置 DNS 服务器

  1. using System.Net.NetworkInformation;

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

  3. adapter.DnsAddresses.Add(IPAddress.Parse("8.8.8.8")); // 设置 DNS 服务器
  4. adapter.DnsAddresses.Add(IPAddress.Parse("8.8.4.4")); // 设置备用 DNS 服务器
复制代码

设置网关

  1. using System.Net.NetworkInformation;

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

  3. adapter.GatewayAddresses.Add(IPAddress.Parse("192.168.0.1")); // 设置默认网关
复制代码

禁用/启用网络接口

  1. using System.Net.NetworkInformation;

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

  3. adapter.Enable(); // 启用网络接口
  4. adapter.Disable(); // 禁用网络接口
复制代码

注意:以上代码仅供参考,实际实现中需要根据具体情况进行修改和调整。同时,需要注意权限问题,修改网络设置可能需要管理员权限。

另外,需要注意的是,C# 中的网络设置 API 只能在本地机器上生效,对远程机器无效。如果需要配置远程机器的网络设置,需要使用其他方法,例如使用 WMI、PowerShell 或其他远程管理工具。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|西兴社区 ( 蜀ICP备2022005627号 )|网站地图

GMT+8, 2024-7-15 04:43 , Processed in 0.629787 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表