resposta curta:
nmap -sn -T5 --min-parallelism 100 subnet/mask -oG output.file.txt; grep -v Down output.file.txt
explicação:
O nmap sozinho deve ser capaz de digitalizar muito mais rápido. Vamos começar limitando o nmap para fazer varreduras de ping com -sP
(versões mais novas substituídas -sP por -sn)
De man nmap
:
TIMING AND PERFORMANCE:
Options which take <time> are in seconds, or append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
--min-rate <number>: Send packets no slower than <number> per second
--max-rate <number>: Send packets no faster than <number> per second
Tempo para uma pequena experiência com apenas a execução de mais análises de ping em paralelo --max-parallelism
e de ter cuidado ao ser detectado no vento -T5
:
nmap sem opções:
% time nmap -sP 192.168.1.0/24
[...]
nmap -sP 192.168.1.0/24 0.04s user 0.02s system 2% cpu 2.917 total
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23
[...]
nmap -sP 192.168.1.0/23 0.08s user 0.04s system 0% cpu 37.469 total
nmap com opções de tempo:
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/24
[...]
nmap -T5 --max-parallelism=100 -sP 192.168.1.0/24 0.03s user 0.03s system 3% cpu 2.016 total
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23
[...]
nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23 0.11s user 0.02s system 2% cpu 4.869 total
Completamente a melhoria.
Para uma varredura de sub-rede / 16, como OP perguntou:
Nmap done: 65536 IP addresses (30 hosts up) scanned in 169.43 seconds
nmap -sP -T5 --min-parallelism 100 --max-parallelism 256 192.168.0.0/16 44.67s user 8.45s system 31% cpu 2:49.44 total
Para lançar a sugestão do @ Dan na mixagem também, fiquei entediado depois de bater 5 minutos com o fping ainda em execução: -)