
Utilitário para realizar múltiplas operações para uma determinada sub-rede/faixas CIDR.
Recursos • Instalação • Uso • Biblioteca • Junte-se ao Discord
O mapCIDR foi desenvolvido para facilitar a distribuição de carga para operações de varredura em massa; pode ser usado tanto como biblioteca quanto como ferramenta CLI independente.
sbh, sbc)a, aa)match-ip)filter-ip)s, sr)count)ip-format)si, sp)t4, t6)go install -v github.com/projectdiscovery/mapcidr/cmd/mapcidr@latest
mapcidr -h
Isso exibirá a ajuda da ferramenta. Aqui estão todas as opções suportadas.
INPUT:
-cl, -cidr string[] CIDR/IP/File containing list of CIDR/IP to process
PROCESS:
-sbc int Slice CIDRs by given CIDR count
-sbh int Slice CIDRs by given HOST count
-a, -aggregate Aggregate IPs/CIDRs into minimum subnet
-aa, -aggregate-approx Aggregate sparse IPs/CIDRs into minimum approximated subnet
-c, -count Count number of IPs in given CIDR
-t4, -to-ipv4 Convert IPs to IPv4 format
-t6, -to-ipv6 Convert IPs to IPv6 format
-ip-format, -if string[] IP formats (0,1,2,3,4,5,6,7,8,9,10,11)
-zpn, -zero-pad-n int number of padded zero to use (default 3)
-zpp, -zero-pad-permute enable permutations from 0 to zero-pad-n for each octets
FILTER:
-f4, -filter-ipv4 Filter IPv4 IPs from input
-f6, -filter-ipv6 Filter IPv6 IPs from input
-skip-base Skip base IPs (ending in .0) in output
-skip-broadcast Skip broadcast IPs (ending in .255) in output
-mi, -match-ip string[] IP/CIDR/FILE containing list of IP/CIDR to match (comma-separated, file input)
-fi, -filter-ip string[] IP/CIDR/FILE containing list of IP/CIDR to filter (comma-separated, file input)
MISCELLANEOUS:
-s, -sort Sort input IPs/CIDRs in ascending order
-sr, -sort-reverse Sort input IPs/CIDRs in descending order
-si, -shuffle-ip Shuffle Input IPs in random order
-sp, -shuffle-port string Shuffle Input IP:Port in random order
UPDATE:
-up, -update update mapcidr to latest version
-duc, -disable-update-check disable automatic mapcidr update check
OUTPUT:
-verbose Verbose mode
-o, -output string File to write output to
-silent Silent mode
-version Show version of the project
Para obter uma lista de IPs para uma determinada CIDR, use o seguinte comando:
mapcidr -cidr 173.0.84.0/24
____________ ___
__ _ ___ ____ / ___/ _/ _ \/ _ \
/ ' \/ _ '/ _ \/ /___/ // // / , _/
/_/_/_/\_,_/ .__/\___/___/____/_/|_| v0.5
/_/
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
173.0.84.0
173.0.84.1
173.0.84.2
173.0.84.3
173.0.84.4
173.0.84.5
173.0.84.13
173.0.84.14
173.0.84.15
173.0.84.16
Também é possível obter uma lista de IPs para uma determinada faixa de IP, usando o seguinte comando:
$ echo "192.168.0.0-192.168.0.5" | mapcidr
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
Para fatiar uma CIDR ou lista de CIDRs por contagem de CIDR ou fatiar em várias sub-redes menores e iguais, use o seguinte comando:
mapcidr -cidr 173.0.84.0/24 -sbc 10 -silent
173.0.84.0/27
173.0.84.32/27
173.0.84.64/27
173.0.84.96/27
173.0.84.128/27
173.0.84.160/27
173.0.84.208/28
173.0.84.192/28
173.0.84.240/28
173.0.84.224/28
Para fatiar a CIDR fornecida para um número igual de hosts em cada CIDR, use o seguinte comando:
mapcidr -cidr 173.0.84.0/16 -sbh 20000 -silent
173.0.0.0/18
173.0.64.0/18
173.0.128.0/18
173.0.192.0/18
Nota: É possível obter uma divisão perfeita apenas quando o número desejado de fatias ou hosts por sub-rede é uma potência de dois. Caso contrário, a ferramenta tentará encontrar automaticamente a melhor estratégia de divisão para obter o resultado desejado.
Para mesclar múltiplas faixas CIDR em um bloco de sub-rede menor, use o seguinte comando:
$ mapcidr -cl cidrs.txt -aggregate
Para listar blocos CIDR para uma determinada lista de IPs, use o seguinte comando:
$ mapcidr -il ips.txt -aggregate
Também é possível realizar agregações aproximadas para grupos de IPs esparsos (apenas versão 4). O intervalo final conterá IPs contíguos que não pertencem à entrada:
$ cat ips.txt
1.1.1.1
1.1.1.16
1.1.1.31
$ cat ips.txt | mapcidr -aggregate-approx
1.1.1.0/27
Para listar blocos CIDR para uma determinada faixa de IP (IPv4 | IPv6), use o seguinte comando:
$ mapcidr -cl 192.168.0.1-192.168.0.255 -aggregate
OR
$ echo 192.168.0.1-192.168.0.255 | mapcidr -aggregate
192.168.0.1/32
192.168.0.2/31
192.168.0.4/30
192.168.0.8/29
192.168.0.16/28
192.168.0.32/27
192.168.0.64/26
192.168.0.128/25
Para corresponder IPs de uma determinada lista de faixas CIDR, use o seguinte comando:
$ mapcidr -cidr 192.168.1.0/24 -mi 192.168.1.253,192.168.1.252
$ mapcidr -cidr 192.168.1.0/24 -mi ip_list_to_match.txt
Para filtrar IPs de uma determinada lista de faixas CIDR, use o seguinte comando:
$ mapcidr -cidr 192.168.1.224/28 -fi 192.168.1.233,192.168.1.234
$ mapcidr -cidr 192.168.1.224/28 -fi ip_list_to_filter.txt