ZMap
Описание ZMap
ZMap — это однопакетный быстрый сканер сети, он предназначен для исследования сетей сопоставимых с Интернетом. На обычным компьютере с гигабитным подключением ZMap может просканировать всё публичное пространство IPv4 адресов за 45 минут. С 10 гигабитным подключением и драйвером PF_RING, ZMap может просканировать пространство IPv4 адресов оза 5 минут.
Предыдущие сетевые инструменты создавались для сканирования маленьких сегментов сети, архитектура ZMap специализирована для сканирования всего адресного пространства. Он создан как система модулей, чтобы облегчить инкорпорацию с другими инструментами исследования сети.
ZMap работает на GNU/Linux, Mac OS и BSD. ZMap на текущий момент имеет полностью реализованные модули зондирования для: TCP SYN сканирований, ICMP, DNS запросов, UPnP, BACNET и может отправлять огромное количество UDP зондов. Если вам нужно более вовлечённое сканирование, например сбор баннеров или TLS рукопожатий, взгляните на ZGrab (https://github.com/zmap/zgrab), сестринский проект ZMap, который делает рукопожатия уровня приложений.
Домашняя страница: https://zmap.io/
Автор: ?
Лицензия: Apache License Version 2.0
Справка по ZMap
Использование:
zmap [ОПЦИИ]... [ПОДСЕТИ]...
Базовые аргументы: -p, --target-port=порт номер порта TCP для сканирования (для SYN сканирований) -o, --output-file=имя Файл вывода -b, --blacklist-file=путь Файл подсетей для исключения, в формате CIDR, например 192.168.0.0/16 -w, --whitelist-file=путь Файл подсетей для сдерживания сканирования, в CIDR формате, к примеру, 192.168.0.0/16 -f, --output-fields=поля Поля, которые должны быть выведены в набор результата Опции сканирования: -n, --max-targets=n Верхний предел целей для зондирования (как число или процент от адресного пространства) -N, --max-results=n Верхнее число результатов для возврата -t, --max-runtime=ses Верхняя длина времени отправки пакетов -r, --rate=pps Установить скорость отправки пакетов в секунду -B, --bandwidth=bps Установить скорость в битах в секунду (поддерживает суффиксы G, M и K) -c, --cooldown-time=сек Как долго продолжать получения после отправки последнего зонда (по умолчанию=`8') -e, --seed=n Выбрать источник для использования в перестановке адресов -T, --sender-threads=n Потоки используемый для отправки пакетов (по умолчанию=`1') -P, --probes=n Количество запросов для отправки каждому IP (по умолчанию=`1') -d, --dryrun Не отправлять по-настоящему пакеты --shards=N На сколько частей разделить всю работу (по умолчанию=`1') --shard=n Указать, какой частью является это сканирование (индекс начинается с 0) (по умолчанию=`0') Сетевые опции: -s, --source-port=порт|диапазон Порты(ы) источника для пакетов сканирования -S, --source-ip=ip|диапазон Адрес(а) источника для пакетов сканирования -G, --gateway-mac=addr Указать MAC адрес шлюза -i, --interface=имя Указать сетевой интерфейс для использования -X, --vpn Отправлять IP пакеты вместо Ethernet (для VPN) Продвинутые опции: -M, --probe-module=имя Выбрать модуль зондирования (по умолчанию=`tcp_synscan') -O, --output-module=имя Выбрать модуль вывода (по умолчанию=`default') --probe-args=арг Аргументы для отправки в модуль зондирования --output-args=арг Аргументы для отправки в модуль вывода --output-filter=фильтр Указать фильтр на поля ответов ограничивающий, какие ответы отправляются на модуль вывода --list-output-modules Список доступных модулей вывода --list-probe-modules Список доступных модулей зондирования --list-output-fields Список полей, которые могут быть выбраны модулем зондирования Дополнительные опции: -C, --config=filename Прочитать конфигурационный файл, в котором можно указать любую из этих опций (по умолчанию=`/etc/zmap/zmap.conf') -l, --log-file=name Записать пункты лога в файл -L, --log-directory=директория Записать пункты лога в файлы, имена которых составлены из временных меток, в эту директорию -q, --quiet Не печатать обновления статуса -g, --summary Напечатать конфигурацию и итог в конце сканирования --metadata-file=имя Файл вывода для метаданных сканирования (JSON) --ignore-invalid-hosts Игнорировать невалидные хосты в белом/чёрном файле --disable-syslog Отключить сообщения логирования для syslog -v, --verbosity=n Уровень детальности логов (0-5) (по умолчанию=`3') -h, --help Напечатать справку и выйти -V, --version Напечатать версию и выйти Помощь по модулю зондирования (tcp_synscan): Это модуль зондирования, который отправляет TCP SYN пакеты на указанный порт. Возможные варианты: synack и rst. Пакет SYN-ACK рассматривается как успешный, а reset пакет рассматривается как неудачный ответ. Помощь по модулю вывода (csv): справка недоступна
Руководство по ZMap
БАЗОВЫЕ ОПЦИИ
ip/имя хоста/диапазон
IP адрес или имя хоста DNS для сканирования. Принимает IP диапазоны в формате блоков CIDR. По умолчанию 0.0.0/8
-p, --target-port=port
Номера портов TCP или UDP для сканирования (для SYN сканирований и базовых UDP сканирований)
-o, --output-file=имя
Когда используется модуль вывода он использует файл, записывает результаты в этот файл. Используйте - (чёрточку) для стандартного вывода.
-b, --blacklist-file=путь
Файл подсетей для исключения, в формате CIDR, одна запись на строку. Рекомендуется его использовать для исключения адресов RFC 1918, широковещательных, зарезервированных пространств IANA и других предназначенных для специальных целей адресов IANA. Пример файла чёрного списка для этих целей смотрите в blacklist.conf.
ОПЦИИ СКАНИРОВАНИЯ
-n, --max-targets=n
Потолок количества целей для зондирования. Может быть как числом (к примеру -n 1000), так и процентами (к примеру, -n 0.1%) от сканируемого адресного пространства (после исключения чёрного списка).
-N, --max-results=n
Выйти после получения этого количества результатов
-t, --max-runtime=secs
Крайняя протяжённость времени отправки пакетов
-r, --rate=pps
Установить скорость отправки пакетов в секунду
-B, --bandwidth=bps
Установить скорость отправки бит в секунду (поддерживаются суффиксы G, M и K (к примеру, -B 10M для 10 mbps). Это переписывает флаг --rate.
-c, --cooldown-time=секунды
Как долго продолжать получать после завершения отправки (по умолчанию=8)
-e, --seed=n
Источник используемый для перестановки адресов. Используйте его если вы хотите просканировать адреса в том же порядке для множества запущенных ZMap.
--shards=N
Расщепить сканирование на N осколков/разделов среди различных экземпляров zmap (по умолчанию=1). Когда расщепляете, требуется --seed.
--shard=n
Установить, какой осколок сканировать (по умолчанию=0). Осколки начинаются с 0 и находятся в диапазоне [0, N), где N — это общее число осколков. При разделении на осколки требуется --seed.
-T, --sender-threads=n
Используемые потоки для отправки пакетов. Основываясь на количестве ядер процессора, ZMap попытается определить оптимальное число потоков отправки.
-P, --probes=n
Количество зондов для отправки на каждый IP (по умолчанию=1)
-d, --dryrun
Печатать каждый пакет в стандартный вывод вместо отправки его (полезно для отладки)
СЕТЕВЫЕ ОПЦИИ
-s, --source-port=порт|диапазон
Порт(ы) источника с которого отправляются пакеты
-S, --source-ip=ip|диапазон
Адрес(а) источника с которого отправляются пакеты. Как одиночный IP, так и диапазон (к примеру, 10.0.0.1-10.0.0.9)
-G, --gateway-mac=addr
MAC адрес шлюза для отправки пакетов (в этом случае автоматическое определение не работает)
-i, --interface=имя
Имя сетевого интерфейса для использования
ОПЦИИ ЗОНДИРОВАНИЯ
ZMap позволяет пользователям указывать и писать их собственные модули зондирования. Модули зондирования ответственны за генерацию пакетов зондирования для отправки и обрабатывают ответы от хостов.
--list-probe-modules
Список доступных модулей зондирования (к примеру, tcp_synscan)
-M, --probe-module=имя
Выбрать модуль зондирования (по умолчанию=tcp_synscan)
--probe-args=args
Аргументы для передачи модулю зондирования
--list-output-fields
Список отобранных полей модуля зондирования для отправки выводному модулю
ОПЦИИ ВЫВОДА
ZMap позволяет пользователям указывать и писать их собственный модули для использования с ZMap. Модули вывода ответственны за процесс установки полей возвращаемых модулем зондирования и вывод их пользователю. Пользователь может указать поля вывода, написать фильтры поверх полей вывода.
--list-output-modules
Список доступных модулей вывода (к примеру, tcp_synscan)
-O, --output-module=имя
Выбрать модуль вывода (по умолчанию=csv)
--output-args=args
Аргументы для передачи модулю вывода
-f, --output-fields=fields
Разделённый запятой список полей для вывода
--output-filter
Указать фильтры вывода поверх полей, определённых модулем зондирования
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-C, --config=имя_файла
Прочитать конфигурационный файл, который может содержать любые другие опции.
-q, --quiet
Не печатать обновления статуса каждую секунду
-g, --summary
Напечатать конфигурацию и краткие итоги результатов в конце сканирования
-v, --verbosity=n
Уровень детализации (0-5, по умолчанию=3)
-h, --help
Напечатать справку и выйти
-V, --version
Напечатать версию и выйти
Примеры запуска ZMap
Просканировать Интернет на хосты с открытым портом 80 и вывести результат в стандартный вывод:
zmap -p 80 -o -
Найти 5 HTTP серверов, сканируя на скорости 10 Mb/s:
zmap -N 5 -B 10M -p 80 -o -
Просканировать 10./8, 192.168./16 на открытый порт 80:
zmap -p 80 10.0.0.0/8 192.168.0.0/16 -o
Просканировать 192.168.1.2, 192.168.1.3 на порт 80:
zmap -p 80 192.168.1.2 192.168.1.3
Установка ZMap
Установка в Kali Linux
apt-get install zmap
Установка в Fedora 19+ или EPEL 6+:
yum install zmap
Установка Debian 8+, Mint, Ubuntu:
sudo apt-get install zmap
Установка в Archlinux:
pacman -S zmap
Скриншоты ZMap
Это утилита командной строки.
Инструкции по ZMap
Ссылки на инструкции будут добавлены позже.
Comments are Closed