Skip to content

Offline Pentest Script 4.16.3

Latest

Choose a tag to compare

@cjlfilm cjlfilm released this 08 Oct 11:04
· 2 commits to main since this release
3816b1d
  • Fixed: a second, separate cause of a static screen - this one right after "Discovery complete", not during discovery itself. Hostname identification (reverse DNS) ran in a plain sequential for loop over every discovered host, with no progress display and no timeout on the underlying socket.gethostbyaddr() call. On a network where most hosts have no PTR record (the norm, not the exception), each lookup could hang for several seconds on the system resolver's own retry behaviour, one host at a time - on a 50-host network that alone could be minutes of nothing visible happening. Now: (1) routed through parallel_host_scan() like every other phase, so it runs concurrently with live per-host progress, and (2) the unbounded gethostbyaddr() call is capped at 3 seconds via a joined background thread (not socket.setdefaulttimeout(), which is process-global and would have affected every other concurrently running thread's sockets too). Verified with a simulated 20-host scan where each lookup blocks for 1 second: total time dropped from a sequential 20s to a parallel ~2s.

  • Fixed: the discovery phase showed nothing but a static "Discovery..." line, often for minutes on a large range, while every other phase showed live per-host progress. The underlying cause: discovery is one single, long-running Nmap command rather than a per-host loop, and Runner.run() fully buffers a command's output and returns nothing until the process exits — so there was no natural place to hook progress into. Discovery now runs behind a live elapsed-time heartbeat ([+] Discovery | running (00:42)), updating every second, with the same completion line style as every other phase.