Filtrar direcciones IP que coinciden con una red o una rango CIDR [Classless Inter-Domain Routing].
$ cat blocked_ips.txt | grepcidr 203.0.113.0/24
$ grepcidr -v 192.168.1.0/24 ips.txt
$ echo "192.168.1.100" | grepcidr 192.168.1.0/24
$ grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' /var/log/auth.log | grepcidr 10.0.0.0/8
$ grepcidr -c 192.168.1.0/24 ips.txt
1.-
Filtrar IPs que pertenecen a una red CIDR
Supongamos un archivo con direcciones IP:
$ cat ips.txt
192.168.1.10
10.0.0.5
172.16.0.20
192.168.2.30
Y se quiere filtrar solo las IPs que están en la red 192.168.1.0/24:
$ grepcidr 192.168.1.0/24 ips.txt
2.-
Filtrar IPs que coinciden con múltiples redes CIDR
Un archivo con varias redes:
$ cat redes.txt
192.168.1.0/24
10.0.0.0/8
Filtrar las IPs que coincidan con alguna de estas redes:
$ grepcidr redes.txt ips.txt