Parallelize nmap phase in webrunner node scanner
scan_masscan_nmap() and scan_geo_scout() were running nmap serially — one host at a time with a 60s timeout, turning a 1h estimate into 24h+ for large scans. Both modes now use ThreadPoolExecutor with 10 workers (configurable via WEBRUNNER_NMAP_WORKERS env var). geo-scout uses an inner scan_one() helper to batch nmap + probe_service() per host within the same future. Also fixed probe_service() bytes format antipattern and removed dead targets_arg variable from scan_nmap_only(). run_scan.yml converted from command: > folded scalar to command: argv: list form to prevent argument splitting on space-containing values.
This commit is contained in:
@@ -10,12 +10,18 @@
|
||||
mode: '0644'
|
||||
|
||||
- name: Run scan on {{ node_name }} ({{ node_ip_count }} IPs, mode={{ scan_mode }})
|
||||
command: >
|
||||
python3 /root/webrunner/node_scanner.py
|
||||
--mode {{ scan_mode }}
|
||||
--ports {{ ports_str }}
|
||||
--rate {{ masscan_rate }}
|
||||
--node-name {{ node_name }}
|
||||
command:
|
||||
argv:
|
||||
- python3
|
||||
- /root/webrunner/node_scanner.py
|
||||
- --mode
|
||||
- "{{ scan_mode }}"
|
||||
- --ports
|
||||
- "{{ ports_str }}"
|
||||
- --rate
|
||||
- "{{ masscan_rate }}"
|
||||
- --node-name
|
||||
- "{{ node_name }}"
|
||||
args:
|
||||
chdir: /root/webrunner
|
||||
register: scan_output
|
||||
@@ -25,13 +31,21 @@
|
||||
when: not (use_tor | default(false) | bool)
|
||||
|
||||
- name: Run scan via Tor on {{ node_name }} ({{ node_ip_count }} IPs, mode={{ scan_mode }})
|
||||
command: >
|
||||
proxychains4 -f /etc/proxychains4.conf
|
||||
python3 /root/webrunner/node_scanner.py
|
||||
--mode {{ scan_mode }}
|
||||
--ports {{ ports_str }}
|
||||
--rate {{ masscan_rate }}
|
||||
--node-name {{ node_name }}
|
||||
command:
|
||||
argv:
|
||||
- proxychains4
|
||||
- -f
|
||||
- /etc/proxychains4.conf
|
||||
- python3
|
||||
- /root/webrunner/node_scanner.py
|
||||
- --mode
|
||||
- "{{ scan_mode }}"
|
||||
- --ports
|
||||
- "{{ ports_str }}"
|
||||
- --rate
|
||||
- "{{ masscan_rate }}"
|
||||
- --node-name
|
||||
- "{{ node_name }}"
|
||||
args:
|
||||
chdir: /root/webrunner
|
||||
register: scan_output
|
||||
|
||||
Reference in New Issue
Block a user