Assembla home | Assembla project page
 

Ticket #18 (new wish)

Opened 2 years ago

Last modified 7 months ago

Multi-processing

Reported by: sullo Assigned to:
Priority: medium Milestone: Future
Component: Scanner Version: Future
Severity: normal Keywords:
Cc:

Description

Take advantage of multi-processing and scan with more than one thread.

Change History

06/19/08 18:05:06 changed by deity

  • milestone set to Nikto 2.04.

11/11/08 22:22:46 changed by deity

  • milestone changed from Nikto 2.04 to Future.

08/26/09 14:49:23 changed by deity

I've done a quick proof of concept on a local copy of the code (not going to be changed on the svn repository, until I make a decision). It is relatively trivial to set up plugins to run in separate threads. Though perl's pretty brain dead method of threading makes this quite hard and kludgy. (You have to share non-complex variables to pass data 'twixt the parent and the thread. If you want anything more complicated than a hash then you're out of luck).

This also makes it trivial to add key presses to return status indicators, alter verbosity etc.

This leaves some questions that need answers to: * Number of threads needed * Way of passing %age complete for each plugin * Do we want sub-threading of plugins (e.g. nikto_tests.plugin takes so much longer than any other plugin) * mark counters don't work due to aforementioned perl brain deadness in use of complex variables