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