security-scripts/tcpdump-schedule/tcpdump.yaml

41 lines
1.3 KiB
YAML
Raw Normal View History

2025-02-25 11:31:23 +01:00
# Ansible Playbook
- hosts: all
vars:
cap_file: packet_capture_{{ ansible_hostname }}_{{ ansible_date_time['epoch'] }}.pcap
vars_prompt:
- name: dur_in_sec
prompt: Please specify the runtime duration in sec
private: no
- name: interface
prompt: Please specify the interface (e.g. eth0)
private: no
- name: dest_folder
prompt: Please specify the destination folder (location on remote server e.g. /var/tmp/)
private: no
- name: filter
prompt: Please specify the tcpdump filter (e.g. host 10.10.10.10). For no filter just press enter
default: ""
private: no
tasks:
- name: start tcpdump
command: sudo /usr/sbin/tcpdump -G {{ dur_in_sec }} -W 1 -i {{ interface }} -s 0 -w {{ dest_folder}}/{{ cap_file }} {{ filter }}
- name: compress capture file
command: sudo gzip {{cap_file}} chdir={{ dest_folder}}/
- name: Change file permission
command: sudo chmod 755 {{ dest_folder}}/{{cap_file}}.gz
- name: copy logs to /export/tmp/ansible/
fetch: src={{ dest_folder}}/{{cap_file}}.gz dest=/export/tmp/ansible/ flat=yes
- name: remove files from remote server
command: sudo rm -r {{ dest_folder}}/{{cap_file}}.gz