=for HTML =head1 NAME App::Monport - Monitor network ports for changes =head1 SYNOPSIS # generate the configuration file $ monport localhost scanme.nmap.org # compare against the configuration file $ monport =head1 DESCRIPTION Use this module to find out whether some new ports have been opened or existing ones have been closed. New open ports mean bigger attack surface and consequently higher security risk. On the other hand if a port gets closed it might indicate a problem with a network service. The application works by comparing the actual state of ports (open or closed) with the expected state defined in the configuration file. =head1 FUNCTIONS See F for how to use these functions. =head2 create_config($conf_file, @hosts) Create configuration file F<$HOME/.monport.yml> containing hosts with corresponding open ports. This file will be used as the expected list of open ports in the consequent scans. =head2 compare_config($conf_file) Compare list of open ports defined in the F<$conf_file> with the current list of open ports. Print newly opened or closed ports. =head2 scan_ports($verbose, $host) Return an array reference containing list of ports open on $host. =head2 nmap_path() Return absolute path to nmap executable or die. =head1 INSTALLATION To install this module run: $ cpan App::Monport or $ cpanm App::Monport when using L. To install manually clone the L and then run (on Unix): perl Build.PL ./Build ./Build test ./Build install For more see L or L instructions. =head1 SOURCE REPOSITORY L =head1 AUTHOR Jozef Reisinger, Ereisinge@cpan.orgE =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2015-2016 by Jozef Reisinger. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.