我使用的脚本有一个名为SourceIP的变量。我有一些用于VPN池的静态IP范围列表。如何设置搜索逻辑以确定源IP驻留在哪个IP池中?
下面是示例详细信息:
SourceIP = 15.15.7.49
VPNpool1 = 15.15.1.0 -15.9.255
VPNPool2 = 15.15.10.0 -15.19.255
通常,当我想查看一个值是否在一个值列表中时,我使用如果变量包含ITEM1、ITEM2、ITEMn。这种方法不适用于VPN池范围,因为我必须列出每个 IP。我希望有人知道我如何能做到这一点。
也许是这样的:
If SourceIP in VPNPool1
{
MsgBox The SourceIP is from VPNPool1
}
If SourceIP in VPNPool12
{
MsgBox The SourceIP is from VPNPool2
}
Else
{
MsgBox The SourceIP is not in a VPNPool.
}发布于 2012-11-26 21:43:02
尝尝这个。确保您有支持对象的最新AutoHotkey版本。
IP := "15.15.9.254"
Start := "15.15.1.0"
End := "15.15.9.255"
if InIPRange(IP, Start, End)
msgbox yes
else
msgbox no
InIPRange(strIP, strStart, strEnd) {
arrIPRanges := {}
loop, parse, strStart, .
arrIPRanges[A_Index, A_LoopField] := A_LoopField
loop, parse, strEnd, .
arrIPRanges[A_Index, A_LoopField] := A_LoopField
loop, parse, strIP, .
{
if arrIPRanges[A_Index].MinIndex() > A_LoopField
return false
if arrIPRanges[A_Index].MaxIndex() < A_LoopField
return false
}
return true
}https://stackoverflow.com/questions/13572399
复制相似问题