You are here: Home » Сбор информации » ZMap

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

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: