Výrazy pro IP adresy¤
IP adresy jsou interně reprezentovány jako 128bitová celá čísla bez znaménka. Takový typ může obsahovat jak IPv6, tak IPv4. IPv4 jsou mapovány do prostoru IPv6 pomocí RFC 4291 "IPv4-Mapped IPv6 Address".
!IP.FORMAT
: Převádí IP adresu na řetězec¤
Typ: Mapping.
Synopsis:
!IP.FORMAT
what: <ip>
Převádí vnitřní reprezentaci IP adresy na řetězec.
!IP.INSUBNET
: Zkontroluje, zda IP adresa spadá do podsítě¤
Typ: Mapping.
Synopsis:
!IP.INSUBNET
what: <ip>
subnet: <subnet>
!IP.INSUBNET
what: <ip>
subnet:
- <string>
- <string>
- <string>
Testuje, zda what
IP adresa patří do subnet
nebo podsítí, vrací true
, pokud ano, jinak false
.
Příklad s jednou podsítí
!IP.INSUBNET
what: 192.168.1.1
subnet: 192.168.0.0/16
Příklad s více podsítěmi
!IP.INSUBNET
what: 1.2.3.4
subnet:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
Test, který kontroluje, zda adresa IP pochází z privátního adresního prostoru IPv4, jak je definováno v RFC 1918.
Kompaktní forma:
!IP.INSUBNET
what: 1.2.3.4
subnet: [10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16]
Parsování IP adresy¤
IP adresa je automaticky analyzována z řetězce.
V případě potřeby můžete IP adresu z řetězce explicitně převést na typ ip
:
!CAST
type: ip
what: 192.168.1.1
Parsování podsítě IP¤
IP podsíť je automaticky parsována z řetězce.
V případě potřeby lze explicitně převést IP adresu z řetězce na typ ipsubnet
:
!CAST
type: ipsubnet
what: 192.168.1.1/16