Dela via


ipv6_is_in_any_range()

Kontrollerar om en IPv6-strängadress finns i något av de angivna IPv6-adressintervallen.

Syntax

ipv6_is_in_any_range(Ipv6Address,Ipv6Range [ ,Ipv6Range ...] )

ipv6_is_in_any_range(Ipv6Address,Ipv6Ranges)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Ipv6Address string ✔️ Ett uttryck som representerar en IPv6-adress.
Ipv6Range string ✔️ Ett uttryck som representerar ett IPv6-intervall med IP-prefixnotation.
Ipv6Ranges dynamic ✔️ En matris som innehåller IPv6-intervall med IP-prefixnotation.

Anteckning

Antingen krävs en eller flera IPv6Range-strängar eller en dynamisk IPv6Ranges-matris .

IP-prefixnotation

IP-prefixnotation (kallas även CIDR-notation) är ett koncist sätt att representera en IP-adress och dess associerade nätverksmask. Formatet är <base IP>/<prefix length>, där prefixets längd är antalet inledande 1 bitar i nätmasken. Prefixets längd avgör intervallet med IP-adresser som tillhör nätverket.

För IPv4 är prefixets längd ett tal mellan 0 och 32. Notationen 192.168.2.0/24 representerar alltså IP-adressen 192.168.2.0 med en nätmask på 255.255.255.0. Den här nätmasken har 24 inledande 1 bitar eller en prefixlängd på 24.

För IPv6 är prefixets längd ett tal mellan 0 och 128. Så notationen fe80::85d:e82c:9446:7994/120 representerar IP-adressen fe80::85d:e82c:9446:7994 med en netmask av ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffffff:ffffff:ffffff:ffff:ffffff:ffffff:ffffff:ffffff:ffff00. Den här nätmasken har 120 inledande 1 bitar eller en prefixlängd på 120.

Returer

  • true: Om IPv6-adressen finns i intervallet för något av de angivna IPv6-nätverken.
  • false:Annars.
  • null: Om konverteringen för en av de två IPv6-strängarna inte lyckades.

Exempel

let LocalNetworks=dynamic([
    "a5e:f127:8a9d:146d:e102:b5d3:c755:f6cd/112",
    "0:0:0:0:0:ffff:c0a8:ac/60"
]);
let IPs=datatable(IP:string) [
    "a5e:f127:8a9d:146d:e102:b5d3:c755:abcd",
    "a5e:f127:8a9d:146d:e102:b5d3:c755:abce",
    "a5e:f127:8a9d:146d:e102:b5d3:c755:abcf",
    "a5e:f127:8a9d:146d:e102:b5d3:c756:abd1",
];
IPs
| extend IsLocal=ipv6_is_in_any_range(IP, LocalNetworks)

Resultat

IP-adress IsLocal
a5e:f127:8a9d:146d:e102:b5d3:c755:abcd Sant
a5e:f127:8a9d:146d:e102:b5d3:c755:abce Sant
a5e:f127:8a9d:146d:e102:b5d3:c755:abcf Sant
a5e:f127:8a9d:146d:e102:b5d3:c756:abd1 Falskt