New in version 2.9.
- 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 }}"
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 | |
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 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