首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AutoHotkey中识别IP范围

如何在AutoHotkey中识别IP范围
EN

Stack Overflow用户
提问于 2012-11-26 20:14:00
回答 1查看 281关注 0票数 1

我使用的脚本有一个名为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。我希望有人知道我如何能做到这一点。

也许是这样的:

代码语言:javascript
复制
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.

}
EN

回答 1

Stack Overflow用户

发布于 2012-11-26 21:43:02

尝尝这个。确保您有支持对象的最新AutoHotkey版本。

代码语言:javascript
复制
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
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13572399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档