Sdílet prostřednictvím


ipv4_is_private()

Zkontroluje, jestli řetězcová adresa IPv4 patří do sady IP adres privátní sítě.

Adresy privátní sítě byly původně definovány kvůli zpoždění vyčerpání adres IPv4. Pakety IP adres pocházející z privátní IP adresy nebo adresované na privátní IP adresu nelze směrovat přes veřejný internet.

Privátní IPv4 adresy

Organizace IETF (Internet Engineering Task Force) nařídila autoritě IANA (Internet Assigned Numbers Authority), aby pro privátní sítě rezervovala následující rozsahy adres IPv4:

Rozsah IP adres Počet adres Největší blok CIDR (maska podsítě)
10.0.0.0–10.255.255.255 16777216 10.0.0.0/8 (255.0.0.0)
172.16.0.0–172.31.255.255 1048576 172.16.0.0/12 (255.240.0.0)
192.168.0.0–192.168.255.255 65536 192.168.0.0/16 (255.255.0.0)
ipv4_is_private('192.168.1.1/24') == true
ipv4_is_private('10.1.2.3/24') == true
ipv4_is_private('202.1.2.3') == false
ipv4_is_private("127.0.0.1") == false

Syntax

ipv4_is_private(Ip)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Ip string ✔️ Výraz představující adresu IPv4. Řetězce IPv4 je možné maskovat pomocí zápisu předpon IP.

Zápis předpony PROTOKOLU IP

Notace předpony IP (označovaná také jako zápis CIDR) je stručný způsob, jak znáznačovat IP adresu a její přidruženou masku sítě. Formát je <base IP>/<prefix length>, kde délka předpony je počet úvodních 1 bitů v síťové maskě. Délka předpony určuje rozsah IP adres, které patří do sítě.

U protokolu IPv4 je délka předpony číslo mezi 0 a 32. Notace 192.168.2.0/24 tedy představuje IP adresu 192.168.2.0 s maskou sítě 255.255.255.0. Tato síťová maska má 24 úvodních 1 bitů nebo délku předpony 24.

U protokolu IPv6 je délka předpony číslo mezi 0 a 128. Notace fe80::85d:e82c:9446:7994/120 tedy představuje IP adresu fe80::85d:e82c:9446:7994 s maskou netffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Tato síťová maska má 120 úvodních 1 bitů nebo délku předpony 120.

Návraty

  • true: Pokud adresa IPv4 patří do některého z rozsahů privátní sítě.
  • false:Jinak.
  • null: Pokud analýza vstupu jako řetězce adresy IPv4 nebyla úspěšná.

Příklad: Kontrola, jestli IPv4 patří do privátní sítě

datatable(ip_string:string)
[
 '10.1.2.3',
 '192.168.1.1/24',
 '127.0.0.1',
]
| extend result = ipv4_is_private(ip_string)

Výstup

ip_string result
10.1.2.3 true
192.168.1.1/24 true
127.0.0.1 false (nepravda)