community.general.nmap – Uses nmap to find hosts to target
community.general.nmap – Uses nmap to find hosts to target
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.nmap
.
Synopsis
- Uses a YAML configuration file with a valid YAML extension.
Requirements
The below requirements are needed on the local controller node that executes this inventory.
- nmap CLI installed
Parameters
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
address string / required |
Network IP or range of IPs to scan, you can use a simple range (10.2.2.15-25) or CIDR notation. | ||
cache boolean |
|
ini entries: [inventory]cache = no
env:ANSIBLE_INVENTORY_CACHE |
Toggle to enable/disable the caching of the inventory's source data, requires a cache plugin setup to work. |
cache_connection string |
ini entries: [defaults]fact_caching_connection = None [inventory]cache_connection = None
env:ANSIBLE_CACHE_PLUGIN_CONNECTION env:ANSIBLE_INVENTORY_CACHE_CONNECTION |
Cache connection data or path, read cache plugin documentation for specifics. | |
cache_plugin string |
Default: "memory" |
ini entries: [defaults]fact_caching = memory [inventory]cache_plugin = memory
env:ANSIBLE_CACHE_PLUGIN env:ANSIBLE_INVENTORY_CACHE_PLUGIN |
Cache plugin to use for the inventory's source data. |
cache_prefix string |
Default: "ansible_inventory_" |
ini entries: [default]fact_caching_prefix = ansible_inventory_ [inventory]cache_prefix = ansible_inventory_
env:ANSIBLE_CACHE_PLUGIN_PREFIX env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX |
Prefix to use for cache plugin files/tables |
cache_timeout integer |
Default: 3600 |
ini entries: [defaults]fact_caching_timeout = 3600 [inventory]cache_timeout = 3600
env:ANSIBLE_CACHE_PLUGIN_TIMEOUT env:ANSIBLE_INVENTORY_CACHE_TIMEOUT |
Cache duration in seconds |
compose dictionary |
Default: {} |
Create vars from jinja2 expressions. | |
exclude list / elements=string |
list of addresses to exclude | ||
groups dictionary |
Default: {} |
Add hosts to group based on Jinja2 conditionals. | |
ipv4 boolean |
|
use IPv4 type addresses | |
ipv6 boolean |
|
use IPv6 type addresses | |
keyed_groups list / elements=string |
Default: [] |
Add hosts to group based on the values of a variable. | |
plugin string / required |
|
token that ensures this is a source file for the 'nmap' plugin. | |
ports boolean |
|
Enable/disable scanning for open ports | |
strict boolean |
|
If Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. |
Notes
Note
- At least one of ipv4 or ipv6 is required to be True, both can be True, but they cannot both be False.
- TODO: add OS fingerprinting
Examples
# inventory.config file in YAML format
plugin: community.general.nmap
strict: False
address: 192.168.0.0/24
Authors
- Unknown (!UNKNOWN)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/nmap_inventory.html