Home page logo

nmap-dev logo Nmap Development mailing list archives

Idea: binary decision diagram for --exclude list
From: David Fifield <david () bamsoftware com>
Date: Mon, 10 Dec 2012 23:03:52 -0800

The code behind our --exclude list is basically a list of
representations of target patterns. The time taken to determine if an
address should be excluded is proportional to the length of the exclude
list. This has actually been a problem for some people with very large
exclude lists.

I think it's worth looking into implementing the exclude list using a
binary decision diagram. This data structure is like a decision tree but
common subtrees are linked together to save space. It would offer O(1)
membership tests, no matter the length of the exclude list. BDDs are
described in the Art of Computer Programming volume 4A and in this
Wikipedia article:
I found this paper the discusses using BDDs to represent routing tables:

David Fifield
Sent through the dev mailing list
Archived at http://seclists.org/nmap-dev/

  By Date           By Thread  

Current thread:
  • Idea: binary decision diagram for --exclude list David Fifield (Dec 11)
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]