Saltar al contenido

Identificador de dirección IP privada en expresión regular

Solución:

Supongo que desea hacer coincidir estos rangos:

127.  0.0.0 – 127.255.255.255     127.0.0.0 /8
 10.  0.0.0 –  10.255.255.255      10.0.0.0 /8
172. 16.0.0 – 172. 31.255.255    172.16.0.0 /12
192.168.0.0 – 192.168.255.255   192.168.0.0 /16

Le faltan algunos puntos que harían que se aceptara, por ejemplo 172.169.0.0 aunque esto no debería aceptarse. Lo he arreglado a continuación. Elimine las nuevas líneas, es solo para facilitar la lectura.

(^127.)|
(^10.)|
(^172.1[6-9].)|(^172.2[0-9].)|(^172.3[0-1].)|
(^192.168.)

También tenga en cuenta que esto supone que las direcciones IP ya han sido validadas; acepta cosas como 10.foobar.

Esta es la misma que la respuesta correcta de Mark, pero ahora incluye direcciones privadas IPv6.

/(^127.)|(^192.168.)|(^10.)|(^172.1[6-9].)|(^172.2[0-9].)|(^172.3[0-1].)|(^::1$)|(^[fF][cCdD])/

He generado esto

REGEXP PARA REDES CLASE A:

(10)(.([2]([0-5][0-5]|[01234][6-9])|[1][0-9][0-9]|[1-9][0-9]|[0-9])){3}

REGEXP PARA REDES CLASE B:

(172).(1[6-9]|2[0-9]|3[0-1])(.(2[0-4][0-9]|25[0-5]|[1][0-9][0-9]|[1-9][0-9]|[0-9])){2}

REGEXP PARA REDES CLASE C:

(192).(168)(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){2}

Avísame si encuentras algún error

Si está seguro de su resultado (digamos, por ejemplo, netstat) y no necesita verificar la validez de la dirección IP porque ya está hecho, entonces puede capturar direcciones IP privadas con esta fórmula

grep -P “(10. | 192.168 | 172.1[6-9]. | 172.2[0-9]. | 172.3[01].). * “

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *