我尝试转换掩码 IP 地址的格式(称为通配符掩码)。例如,我想要
- 子网掩码 0.0.0.3 应返回 255.255.255.252。
- 子网掩码 0.0.1.255 应返回 255.255.254.0
有人知道我该怎么做吗?从理论上讲,它应该很简单,因为我只需要反转字节中的所有位。我认为我的反转位功能不起作用?我怎么能做到这一点?谢谢你!!:)
//Retreive IP Subnet Mask (ex: Format 0.0.0.255)
IPAddress SubnetMask = IPAddress.Parse(template_script[line_delimiter].Split(' ')[2]);
//Retreive bytes array of Mask
byte[] bytes = SubnetMask.GetAddressBytes();
//Reverse all bit in bytes
byte[] reversed = Function.InvertBits(bytes);
//Retreive IP Address of inverted byte array
IPAddress SubnetMask_inverted = new IPAddress(reversed);
MessageBox.Show("Subnet original: " + SubnetMask.ToString() + "\nSubnet inverted : " + SubnetMask_inverted.ToString());