INSTALLATION

perl Makefile.PL
make
make test
make install

NOTE:  This module now relies on XML::SAX and XML::SAX::PurePerl for parsing
       the XML output of nmap.

DOCUMENTATION

If you want to view the docs post installation, do

perldoc Nmap::Scanner

then

perldoc Nmap::Scanner::Scanner

to start.

If you want to look pre-install, cd to lib first.

SYNOPSIS

Nmap::Scanner perlifies the output of the network mapping tool nmap 
(http://www.insecure.org/nmap/), creating lists of model objects in batch scan
mode or firing events when significant scanning events occur in event scan mode.

If you do not have nmap installed on your system, you will need to install it 
before you can use this module.  Please make sure to use a version that is
at or newer than 3.10ALPHA4, as I contributed a few small patches to output
the port found messages nmap outputs as it is running in XML format.

Older versions (as far back as 2.54BETA32) should work with this module, but 
the port found events will not not be seen; for those to work correctly, 
please use a version of nmap NEWER than 3.21.

This version, only parses the XML output from nmap (-oX -) as that is the most 
stable output format from nmap and will change very little compared to the 
other output formats (according to Fyodor, the author of nmap).

I contributed a few very minor patches to the nmap project in order to get
the port found event to produce XML output (the "normal" format is the only 
other output format that shows this event) ... this allows me to continue to 
refine both the event-based and batch mode scanning model.

This module lets the user pass all nmap scanning flags to the scan method:

my $scanner = Nmap::Scanner->new();
my $results = $scanner->scan('-sS -P0 -O');

Hopefully this will make the module more useful to people who are already 
familiar with nmap.  

Nmap::Scanner still does support some setter-style option methods.  I had
some very productive discussions with Anthony Persaud about them, as I was
thinking of dropping them altogether; he convinced me that some people do like 
them.  I also changed all Nmap::Scanner setters in the Nmap::Scanner::Scanner 
class so they return $self to allow for chaining, again after some good 
discussing/arguing with Anthony :).

If you are interested in making suggestions, reporting bugs, etc, please 
join the nmap-scanner mailing list at

http://webwizarddesign.com/mailman/listinfo/nmap-scanner

Please feel free to email me with nmap-scanner related questions, comments, and
criticisms.  All feedback is welcomed.

I hope you find this project useful :).

Max

nmap -AT- webwizarddesign -dot- com
