listen_ports_facts – Gather facts on processes listening on TCP and UDP ports
listen_ports_facts – Gather facts on processes listening on TCP and UDP ports
New in version 2.9.
Synopsis
- Gather facts on processes listening on TCP and UDP ports.
Examples
- name: Gather facts on listening ports
listen_ports_facts:
- name: TCP whitelist violation
debug:
msg: TCP port {{ item.port }} by pid {{ item.pid }} violates the whitelist
vars:
tcp_listen_violations: "{{ ansible_facts.tcp_listen | selectattr('port', 'in', tcp_whitelist) | list }}"
tcp_whitelist:
- 22
- 25
loop: "{{ tcp_listen_violations }}"
- name: List TCP ports
debug:
msg: "{{ ansible_facts.tcp_listen | map(attribute='port') | sort | list }}"
- name: List UDP ports
debug:
msg: "{{ ansible_facts.udp_listen | map(attribute='port') | sort | list }}"
- name: List all ports
debug:
msg: "{{ (ansible_facts.tcp_listen + ansible_facts.udp_listen) | map(attribute='port') | unique | sort | list }}"
Returned Facts
Facts returned by this module are added/updated in the hostvars
host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.
Fact | Returned | Description | |
---|---|---|---|
tcp_listen list |
if TCP servers were found |
A list of processes that are listening on a TCP port.
| |
address string |
always |
The address the server is listening on.
Sample: 0.0.0.0 | |
name string |
if user permissions allow |
The name of the listening process.
Sample: mysqld | |
pid integer |
always |
The pid of the listening process.
Sample: 1223 | |
port integer |
always |
The port the server is listening on.
Sample: 3306 | |
protocol string |
always |
The network protocol of the server.
Sample: tcp | |
stime string |
always |
The start time of the listening process.
Sample: Thu Feb 2 13:29:45 2017 | |
user string |
always |
The user who is running the listening process.
Sample: mysql | |
udp_listen list |
if UDP servers were found |
A list of processes that are listening on a UDP port.
| |
address string |
always |
The address the server is listening on.
Sample: 0.0.0.0 | |
name string |
if user permissions allow |
The name of the listening process.
Sample: rsyslogd | |
pid integer |
always |
The pid of the listening process.
Sample: 609 | |
port integer |
always |
The port the server is listening on.
Sample: 514 | |
protocol string |
always |
The network protocol of the server.
Sample: udp | |
stime string |
always |
The start time of the listening process.
Sample: Thu Feb 2 13:29:45 2017 | |
user string |
always |
The user who is running the listening process.
Sample: root |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Nathan Davison (@ndavison)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/listen_ports_facts_module.html