Nmap Development mailing list archives

Zenmap-filter speed


From: David Fifield <david () bamsoftware com>
Date: Fri, 17 Jul 2009 11:33:04 -0600

On Fri, Jul 17, 2009 at 01:22:42AM -0700, Fyodor wrote:
On Mon, Jul 13, 2009 at 07:35:11PM -0400, J Marlow wrote:
I've been working on a new feature for zenmap.  Its a host filtering feature
that allows you to filter out all of the hosts that don't match some
criteria.  Its currently running a bit slow, so its not fit for production
use, but I'm working on that.  

I agree that the current speed in unsatisfactory for large scans.  For
example, I've put a bigger scan log up here:
http://insecure.org/tmp/c/facebook-vscan-030909.xml.  That has fewer
than 1,000 hosts and yet the host filter often freezes (app totallly
unresponsive) for 5+ seconds when I try to use it.

Josh and I were trying to improve the speed of the host filter
yesterday. But today I found that the host filter is most likely more
than fast enough, and that the slowness is the GUI updating itself with
the revised list of hosts. The two operations are done respectively by
functions called apply_filter and update_ui.

Here is a sample of filtering random-1.xml on "linux":
DEBUG - 2009-07-17 11:23:13,419 - apply_filter 10 ms  update_ui 600 ms (2% filter)

Here is facebook-vscan-1236753099.xml filtered on "http":
DEBUG - 2009-07-17 11:22:53,784 - apply_filter 60 ms  update_ui 5840 ms (1% filter)

The filter takes much less than a second and accounts for 2% or less of
the perceived delay. For another example, try filtering the Facebook
scan on "ssh", which has a smaller results set, and it is faster than
"http", even though the filter will take longer because it can't match
as many hosts early.

I'll work with Josh to try to speed up update_ui and add a progress bar
or something to reduce the frustration of a frozen UI.

David Fifield

_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org


Current thread: