From 667de0a41bd6766cff7f1a2f8cbbf20fad8b0892 Mon Sep 17 00:00:00 2001 From: Jon Date: Sat, 24 Feb 2024 21:08:11 +0930 Subject: [PATCH] feat(scanner): don't include PTR DNS records as hostname !11 closes #10 --- playbooks/tasks/scan_subnet.yaml | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/playbooks/tasks/scan_subnet.yaml b/playbooks/tasks/scan_subnet.yaml index 09203d0..8c0f78c 100644 --- a/playbooks/tasks/scan_subnet.yaml +++ b/playbooks/tasks/scan_subnet.yaml @@ -45,15 +45,39 @@ "subnetId": "{{ subnet.id }}", "ip": "{{ scanned_host.address['@addr'] | default(scanned_host.address[0]['@addr']) }}", "lastSeen": "{{ nmap_scan.start }}", + {% if scanned_host.hostnames.hostname is defined %} - {% if '.' in scanned_host.hostnames.hostname['@name'] | string %} + + {% set ip_address = scanned_host.address['@addr'] | default(scanned_host.address[0]['@addr']) | split('.') %} + + {% if + '.' in scanned_host.hostnames.hostname['@name'] | string + and + (ip_address[0] + '-' + ip_address[1] + '-' + ip_address[2] + '-' + ip_address[3]) not in scanned_host.hostnames.hostname['@name'] | string + and + (ip_address[3] + '-' + ip_address[2] + '-' + ip_address[1] + '-' + ip_address[0]) not in scanned_host.hostnames.hostname['@name'] | string + %} + "hostname": "{{ (scanned_host.hostnames.hostname['@name'] | split('.'))[0] }}", - {% else %} + + {% elif + '.' not in scanned_host.hostnames.hostname['@name'] | string + and + (ip_address[0] + '-' + ip_address[1] + '-' + ip_address[2] + '-' + ip_address[3]) not in scanned_host.hostnames.hostname['@name'] | string + and + (ip_address[3] + '-' + ip_address[2] + '-' + ip_address[1] + '-' + ip_address[0]) not in scanned_host.hostnames.hostname['@name'] | string + %} + "hostname": "{{ scanned_host.hostnames.hostname['@name'] }}", + {% endif %} + {% endif %} + {% if scanned_host.address['@addrtype'] | default(scanned_host.address[1]['@addrtype']) == 'mac' %} + "mac": "{{ scanned_host.address['@addr'] | default(scanned_host.address[1]['@addr']) | upper }}" + {% endif %} }, {% endif %}