由于我必须安装相当多的Windows Server机器,我决定用C#编写一个小程序来帮助简化其中的一些任务。我必须添加的最后一个功能是输入IP范围(例如74.117.238.112/28),并让它自动将所有这些作为静态IP添加到NIC。
我过去一直使用网络计算器来实现这一点,但我正试图弄清楚如何用C#编程实现。我在这里发现了这篇文章,它很有道理(从中学到了一些),但有点令人困惑。我过去使用过的计算器为我提供了255.255.255.240或.248这样的子网掩码,因为这似乎只返回四个值中的一个。
这个代码示例是正确的,还是需要进一步修改才能真正使用?
您提到的链接为您提供了不同IP类的标准子网掩码。这并不是真正的子网。
如果我理解正确,您只需要子网掩码,它只取决于子网(在您的示例中为/28),而不是ip地址。
我写了这个小函数::
public static string GetSubnetMask(byte subnet)
{
long mask = (0xffffffffL << (32-subnet)) & 0xffffffffL;
mask=IPAddress.HostToNetworkOrder((int)mask);
return new IPAddress((UInt32)mask).ToString();
}
如果用子网(例如28)调用它,它将以字符串(255.255.255.240)的形式返回子网。
告诉我这是你需要的,还是还有其他东西。