gpt4 book ai didi

.net - 使用 .NET 测试 IP 地址是否在地址范围内

转载 作者:行者123 更新时间:2023-12-02 03:55:20 25 4
gpt4 key购买 nike

.NET 有 IP 地址范围的概念吗?

我需要测试给定的 IP 地址是否在某个地址范围内。

我可以编写一些 API 来给我类似的东西

IPRange ipRange = IPRange.Parse("127.0.0.1-127.0.0.15");
ipRange.Contains(someAddress);

但如果已经内置了类似的功能,我不想重新发明轮子。

最佳答案

不,但这是如何做到的(VB,因为代码标签不包含在OP中)

'test values
Dim rangeStart As Net.IPAddress = Net.IPAddress.Parse("192.168.133.1")
Dim rangeEnd As Net.IPAddress = Net.IPAddress.Parse("192.168.133.254")
Dim check As Net.IPAddress = Net.IPAddress.Parse("192.168.133.230")

'get the bytes of the address
Dim rbs() As Byte = rangeStart.GetAddressBytes
Dim rbe() As Byte = rangeEnd.GetAddressBytes
Dim cb() As Byte = check.GetAddressBytes

'reverse them for conversion
Array.Reverse(rbs)
Array.Reverse(rbe)
Array.Reverse(cb)

'convert them
Dim rs As UInt32 = BitConverter.ToUInt32(rbs, 0)
Dim re As UInt32 = BitConverter.ToUInt32(rbe, 0)
Dim chk As UInt32 = BitConverter.ToUInt32(cb, 0)

'check
If chk >= rs AndAlso chk <= re Then
Debug.WriteLine("In Range")
Else
Debug.WriteLine("Not In Range")
End If

关于.net - 使用 .NET 测试 IP 地址是否在地址范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6611831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com