ipv4_is_in_any_range()
IPv4 dize adresinin belirtilen IPv4 adres aralıklarından birinde olup olmadığını denetler.
Syntax
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Range [ ,
Ipv4Range ...] )
ipv4_is_in_any_range(
Ipv4Address,
Ipv4Ranges)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
Ipv4Address | string |
✔️ | IPv4 adresini temsil eden bir ifade. |
Ipv4Range | string |
✔️ | IP ön eki gösterimiyle yazılmış bir IPv4 aralığı veya IPv4 aralıkları listesi. |
Ipv4Ranges | dynamic |
✔️ | IP ön eki gösterimiyle yazılmış IPv4 aralıklarını içeren dinamik bir dizi. |
Not
Bir veya daha fazla IPv4Range dizesi veya bir IPv4Ranges dinamik dizisi gereklidir.
IP ön eki gösterimi
IP ön eki gösterimi (CIDR gösterimi olarak da bilinir), ip adresini ve ilişkili ağ maskesini temsil etmenin kısa bir yoludur. biçimi, <base IP>/<prefix length>
ön ek uzunluğunun netmask içindeki baştaki 1 bitin sayısı olduğu şeklindedir. Ön ek uzunluğu, ağa ait IP adresi aralığını belirler.
IPv4 için ön ek uzunluğu 0 ile 32 arasında bir sayıdır. Dolayısıyla 192.168.2.0/24 gösterimi, 255.255.255.0 net maskesine sahip 192.168.2.0 IP adresini temsil eder. Bu netmask 24 önde gelen 1 bit veya ön ek uzunluğu 24'tür.
IPv6 için ön ek uzunluğu 0 ile 128 arasında bir sayıdır. Bu nedenle gösterimi fe80::85d:e82c:9446:7994/120, ffff:ffff:ffff:ff00 netmask ile fe80::85d:e82c:9446:7994 IP adresini temsil eder. Bu netmask 120 baştaki 1 bit veya ön ek uzunluğu 120'ye sahiptir.
Döndürülenler
true
: IPv4 adresi belirtilen IPv4 ağlarından herhangi birinin aralığındaysa.false
:Aksi takdir -de.null
: İki IPv4 dizelerinden biri için dönüştürme başarılı olmadıysa.
Örnekler
Dize listesini kullanan söz dizimi
print Result=ipv4_is_in_any_range('192.168.1.6', '192.168.1.1/24', '10.0.0.1/8', '127.1.0.1/16')
Çıkış
Sonuç |
---|
true |
Dinamik dizi kullanan söz dizimi
print Result=ipv4_is_in_any_range("127.0.0.1", dynamic(["127.0.0.1", "192.168.1.1"]))
Çıkış
Sonuç |
---|
true |
Tabloyu IPv4 aralık denetimiyle genişletme
let LocalNetworks=dynamic([
"192.168.1.1/16",
"127.0.0.1/8",
"10.0.0.1/8"
]);
let IPs=datatable(IP:string) [
"10.1.2.3",
"192.168.1.5",
"123.1.11.21",
"1.1.1.1"
];
IPs
| extend IsLocal=ipv4_is_in_any_range(IP, LocalNetworks)
Çıkış
IP | IsLocal |
---|---|
10.1.2.3 | true |
192.168.1.5 | true |
123.1.11.21 | yanlış |
1.1.1.1 | yanlış |
İlgili içerik
- IPv4/IPv6 işlevlerine genel bakış
- IPv4 metin eşleştirme işlevlerine genel bakış
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin