1

私が使用しているスクリプトには、SourceIP という名前の変数があります。VPN プールの IP 範囲の静的リストがいくつかあります。ソース IP が存在する IP プールを特定する検索ロジックを設定するにはどうすればよいですか?

例の詳細は次のとおりです。

ソース IP = 15.15.7.49

VPNpool1 = 15.15.1.0 - 15.15.9.255

VPNPool2 = 15.15.10.0 - 15.15.19.255

通常、値が値のリストにあるかどうかを確認したい場合は、VARIABLE に ITEM1,ITEM2,ITEMn が含まれている場合に使用します。すべてのIPを一覧表示する必要があるため、この方法は VPN プール範囲では機能しません。誰かが私がこれを機能させる方法を知っていることを願っています。

おそらく次のようなものです:

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.

}
4

1 に答える 1

1

これを試して。オブジェクトをサポートする最新の 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
}
于 2012-11-26T21:43:02.757 に答える