给定一个IP地址开头和结尾,返回在此范围内的所有IP地址列表,VB.Net实现,可以很容易的转换成C#代码
'start and end ip address ,code from www.sharejs.com
Dim startiprange As Net.IPAddress = Net.IPAddress.Parse("192.168.0.0")
Dim endiprange As Net.IPAddress = Net.IPAddress.Parse("192.168.255.255")
'reverse address bytes for conversion to integer
Dim strtip() As Byte = startiprange.GetAddressBytes
Array.Reverse(strtip)
Dim endip() As Byte = endiprange.GetAddressBytes
Array.Reverse(endip)
'convert
Dim ips As UInt32 = BitConverter.ToUInt32(strtip, 0)
Dim ipe As UInt32 = BitConverter.ToUInt32(endip, 0)
'then loop from start to end
For anip As UInt32 = ips To ipe
'convert to bytes
Dim ipbyt() As Byte = BitConverter.GetBytes(anip)
'reverse and create ip address
Array.Reverse(ipbyt)
Dim ipaddr As New Net.IPAddress(ipbyt)
Debug.WriteLine(ipaddr.ToString)
Next
//该代码片段来自于: http://www.sharejs.com/codes/asp/8680
原文转自:脚本分享网 http://www.sharejs.com/codes/asp/8680