
Утилита для выполнения множества операций для заданных подсетей/CIDR диапазонов.
Возможности • Установка • Использование • Библиотека • Присоединиться к Discord
mapCIDR разработан для упрощения распределения нагрузки при массовом сканировании; его можно использовать как в качестве библиотеки, так и в качестве автономного CLI-инструмента.
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
Эта команда покажет справку по инструменту. Ниже перечислены все доступные ключи.
INPUT:
-cl, -cidr string[] CIDR/IP/Файл со списком CIDR/IP для обработки
PROCESS:
-sbc int Разделить CIDR на заданное количество подсетей
-sbh int Разделить CIDR на подсети с заданным количеством хостов
-a, -aggregate Агрегировать IP/CIDR в минимальную подсеть
-aa, -aggregate-approx Агрегировать разреженные IP/CIDR в минимальную приближённую подсеть
-c, -count Подсчитать количество IP в заданном CIDR
-t4, -to-ipv4 Преобразовать IP в формат IPv4
-t6, -to-ipv6 Преобразовать IP в формат IPv6
-ip-format, -if string[] Форматы IP (0,1,2,3,4,5,6,7,8,9,10,11)
-zpn, -zero-pad-n int Количество дополняемых нулей (по умолчанию 3)
-zpp, -zero-pad-permute Включить перестановки от 0 до zero-pad-n для каждого октета
FILTER:
-f4, -filter-ipv4 Отфильтровать IPv4 адреса из ввода
-f6, -filter-ipv6 Отфильтровать IPv6 адреса из ввода
-skip-base Пропустить базовые IP (оканчивающиеся на .0) в выводе
-skip-broadcast Пропустить широковещательные IP (оканчивающиеся на .255) в выводе
-mi, -match-ip string[] IP/CIDR/Файл со списком IP/CIDR для сопоставления (через запятую, файл)
-fi, -filter-ip string[] IP/CIDR/Файл со списком IP/CIDR для фильтрации (через запятую, файл)
MISCELLANEOUS:
-s, -sort Отсортировать входные IP/CIDR по возрастанию
-sr, -sort-reverse Отсортировать входные IP/CIDR по убыванию
-si, -shuffle-ip Перемешать входные IP в случайном порядке
-sp, -shuffle-port string Перемешать пары IP:Port в случайном порядке
UPDATE:
-up, -update Обновить mapcidr до последней версии
-duc, -disable-update-check Отключить автоматическую проверку обновлений mapcidr
OUTPUT:
-verbose Подробный режим
-o, -output string Файл для записи вывода
-silent Тихий режим
-version Показать версию проекта
Чтобы получить список IP для заданного CIDR, используйте следующую команду:
mapcidr -cidr 173.0.84.0/24
____________ ___
__ _ ___ ____ / ___/ _/ _ \/ _ \
/ ' \/ _ '/ _ \/ /___/ // // / , _/
/_/_/_/\_,_/ .__/\___/___/____/_/|_| v0.5
/_/
projectdiscovery.io
[WRN] Используйте с осторожностью. Вы несёте ответственность за свои действия
[WRN] Разработчики не несут ответственности за неправильное использование или ущерб.
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
Также можно получить список IP для заданного диапазона IP с помощью следующей команды:
$ 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
Чтобы разделить заданный CIDR или список CIDR на указанное количество подсетей или на несколько одинаковых меньших подсетей, используйте следующую команду:
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
Чтобы разделить заданный CIDR на подсети с равным количеством хостов в каждой, используйте следующую команду:
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
Примечание: Идеальное разделение возможно только тогда, когда требуемое количество подсетей или хостов в подсети является степенью двойки. В противном случае инструмент попытается автоматически найти наилучшую стратегию разделения для получения желаемого результата.
Чтобы объединить несколько диапазонов CIDR в меньший блок подсети, используйте следующую команду:
$ mapcidr -cl cidrs.txt -aggregate
Чтобы вывести блоки CIDR для заданного списка IP, используйте следующую команду:
$ mapcidr -il ips.txt -aggregate
Также возможно выполнение приближённой агрегации для разреженных групп IP (только версия 4). Конечный интервал будет содержать смежные IP, не принадлежащие входным данным:
$ 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
Чтобы вывести блоки CIDR для заданного диапазона IP (IPv4 | IPv6), используйте следующую команду:
$ mapcidr -cl 192.168.0.1-192.168.0.255 -aggregate
ИЛИ
$ 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
Чтобы сопоставить IP из заданного списка диапазонов CIDR, используйте следующую команду:
$ 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
Чтобы отфильтровать IP из заданного списка диапазонов CIDR, используйте следующую команду:
$ 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