GitHubContribuisci in GitHub: Modifica in linea

ipv4_is_private()

Verifica se l'indirizzo stringa IPv4 appartiene a una serie di IP di rete privati.

Gli indirizzi di rete privati sono stati originariamente definiti per consentire il ritardo dell'esaurimento degli indirizzi IPv4 . I pacchetti IP provenienti da o indirizzati a un indirizzo IP privato non possono essere instradati tramite Internet pubblico.

Indirizzi IPv4 privati

L'IETF (Internet Engineering Task Force) ha indicato all'IANA (Internet Assigned Numbers Authority) di riservare i seguenti intervalli di indirizzi IPv4 per reti private:

Intervallo di indirizzi IP Numero di indirizzi Blocco CIDR più grande (maschera di sottorete)
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('9.9.9.9') == false
ipv4_is_private("127.0.0.1") == false

Sintassi

ipv4_is_private(Espr)

Argomenti

Nome Immettere Obbligatorio Descrizione
Espr Stringa Un'espressione stringa che rappresenta un indirizzo IPv4 . Le stringhe IPv4 possono essere mascherate utilizzando la notazione prefisso IP.

Notazione prefisso IP

Gli indirizzi IP possono essere definiti con IP-prefix notation utilizzando un carattere barra (/). L'indirizzo IP alla sinistra della barra (/) è l'indirizzo IP di base. Il numero (da 1 a 32) a destra della barra (/) è il numero di bit contigui 1 nella maschera di rete.

Ad esempio, 192.168.2.0/24 avrà una maschera di rete / sottorete associata contenente 24 bit contigui o 255.255.255.0 in formato decimale puntato.

Restituisce

  • true: se l'indirizzo IPv4 appartiene a uno degli intervalli di rete privati.
  • false: altrimenti.
  • null: se l'analisi dell'input come stringa di indirizzo IPv4 non è riuscita.

Esempio

Verificare se IPv4 appartiene a una rete privata

print ipv4_is_private('9.9.9.9') == true // returns false

Risultati

print_0
0

print ipv4_is_private('9.9.9.9') == true // returns false

Risultati

print_0
0