class CIP
{
private uint ip1;
private uint ip2;
public string ips = "";
public CIP(string ips)
{
this.ips = ips.Trim();
string[] ss = this.ips.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (ss.Length == 2)
{
ip1 = IPToInt(ss[0]);
ip2 = IPToInt(ss[1]);
}
}
public string IP1
{
get
{
return IntToIP(ip1);
}
}
public string IP2
{
get
{
return IntToIP(ip2);
}
}
public string RanIP
{
get
{
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
int len = (int)(ip2 - ip1);
uint ip = ip1 + (uint)ra.Next(len);
return IntToIP(ip);
}
}
///<summary>
/// 将字符串形式的IP转换位uint
///</summary>
///<param name="strIP"></param>
///<returns></returns>
public static uint IPToInt(string strIP)
{
byte[] ip_bytes = new byte[4];
string[] strArr = strIP.Split(new char[] { '.' });
for (int i = 0; i < 4; i++)
{
ip_bytes[i] = byte.Parse(strArr[3 - i]);
}
return BitConverter.ToUInt32(ip_bytes, 0);
}
/// <summary>
/// 将uint形式的IP转换为字符串形式
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static string IntToIP(uint ip)
{
byte[] ip_bytes = BitConverter.GetBytes(ip);
string ip_str = "";
for (int i = 0; i < 4; i++)
{
ip_str += ((int)ip_bytes[3 - i]).ToString() + ".";
}
ip_str = ip_str.Remove(ip_str.Length - 1);
return ip_str;
}
}
根据IP段随机生成IP
最新推荐文章于 2024-04-22 11:31:03 发布