Инвентаризация community.general.nmap — использует nmap для поиска целевых узлов
Примечание
Этот плагин инвентаризации входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить коллекцию, используйте: ansible-galaxy collection install community.general. Для работы с этим плагином инвентаризации могут потребоваться дополнительные зависимости. Подробнее см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.general.nmap.
Краткое описание
- Использует файл конфигурации YAML с допустимым расширением YAML.
Требования
Указанные ниже требования должны быть выполнены на локальном управляющем узле, запускающем эту инвентаризацию.
- Установленный интерфейс командной строки nmap
Параметры
Параметр | Комментарии |
|---|---|
address строка / обязательный | IP-адрес сети или диапазон IP-адресов для сканирования. Можно использовать простой диапазон (10.2.2.15-25) или нотацию CIDR. Конфигурация:
|
cache логическое значение | Включить или отключить кеширование исходных данных инвентаризации. Для работы требуется настроить плагин кеширования. Варианты:
Конфигурация:
|
cache_connection строка | Данные подключения к кешу или путь к нему; подробности см. в документации плагина кеширования. Конфигурация:
|
cache_plugin строка | Плагин кеширования, используемый для исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix строка | Префикс для файлов или таблиц плагина кеширования. По умолчанию: Конфигурация:
|
cache_timeout целое число | Длительность кеширования в секундах. По умолчанию: Конфигурация:
|
compose словарь | Создание переменных на основе выражений Jinja2. По умолчанию: |
dns_resolve логическое значение добавлено в community.general 6.1.0 | Всегда ( Варианты:
|
dns_servers список / элементы=строка добавлено в community.general 10.5.0 | Указать DNS-серверы, используемые для разрешения имён. |
exclude список / элементы=строка | Список адресов, которые нужно исключить. Например, Конфигурация:
|
groups словарь | Добавление узлов в группы на основе условий Jinja2. По умолчанию: |
icmp_timestamp логическое значение добавлено в community.general 6.1.0 | Сканирование с использованием временной метки ICMP ( В зависимости от вашей системы для работы этой функции может потребоваться Варианты:
|
ipv4 логическое значение | Использовать адреса типа IPv4. Варианты:
|
ipv6 логическое значение | Использовать адреса типа IPv6. Варианты:
|
keyed_groups список / элементы=словарь | Добавление узлов в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, используемое, если значение переменной узла равно Этот параметр несовместим с |
|
key строка |
Ключ входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы, созданной по ключу. |
|
prefix строка |
Имя группы, созданной по ключу, будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель, используемый для формирования имени группы, созданной по ключу. По умолчанию: |
|
trailing_separator логическое значение добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр несовместим с Варианты:
|
leading_separator логическое значение добавлено в ansible-core 2.11 | Используется вместе с По умолчанию имя группы, созданной по ключу, для которой не задан префикс или разделитель, начинается с символа подчёркивания. Это связано с тем, что префиксом по умолчанию является Установите для этого параметра значение Если имя группы формируется из сопоставления, разделитель по-прежнему используется для объединения элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для группы, созданной по ключу, пустую строку в качестве разделителя. Варианты:
|
open логическое значение добавлено в community.general 6.5.0 | Сканировать только открытые (или, возможно, открытые) порты. Варианты:
|
plugin строка / обязательный | Маркер, подтверждающий, что этот файл является источником для плагина community.general.nmap. Варианты:
|
port строка добавлено в community.general 6.5.0 | Сканировать только указанный порт или диапазон портов ( Например, можно указать |
ports логическое значение | Включить или отключить сканирование портов. Варианты:
|
strict логическое значение | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются. Варианты:
|
sudo логическое значение добавлено в community.general 4.8.0 | Установите значение Варианты:
|
udp_scan логическое значение добавлено в community.general 6.1.0 | Сканирование с использованием UDP. В зависимости от вашей системы для работы этой функции может потребоваться Варианты:
|
use_arp_ping логическое значение добавлено в community.general 7.4.0 | Всегда использовать быстрый ARP ping ( Варианты:
|
use_extra_vars логическое значение добавлено в ansible-core 2.11 | Объединить дополнительные переменные с доступными переменными для композиции (наивысший приоритет). Варианты:
Конфигурация:
|
Примечание
Записи конфигурации, перечисленные выше для каждого типа параметров (переменная Ansible, переменная окружения и т. д.), упорядочены от низкого приоритета к высокому. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по приоритету — от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Как минимум один из параметров
ipv4илиipv6должен иметь значениеtrue; оба параметра могут иметь значениеtrue, но не могут оба иметь значениеfalse. - TODO: добавить определение ОС.
- На этом этапе инвентаризация ещё не завершена, поэтому автоматически заполненные группы
allиungroupedбудут содержать только те данные, которые предыдущие источники инвентаризации добавили в них явно. - Во время построения инвентаризации динамические «магические переменные» времени выполнения недоступны. Например,
groupsиhostvarsещё не существуют.
Примеры
---
# inventory.config file in YAML format
plugin: community.general.nmap
strict: false
address: 192.168.0.0/24
---
# a sudo nmap scan to fully use nmap scan power.
plugin: community.general.nmap
sudo: true
strict: false
address: 192.168.0.0/24
---
# an nmap scan specifying ports and classifying results to an inventory group
plugin: community.general.nmap
address: 192.168.0.0/24
exclude: 192.168.0.1, web.example.com
port: 22, 443
groups:
web_servers: "ports | selectattr('port', 'equalto', '443')"
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/nmap_inventory.html