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