App-pscan

 view release on metacpan or  search on metacpan

lib/App/pscan/Command.pm  view on Meta::CPAN

    my ($pkg, $cmd, @args) = @_;
    local *ARGV = [$cmd, @args];
    my $ret = eval {
        $pkg->dispatch();
    };
    if( $@ ) {
        warn $@;
    }
}

sub run(){
    my $self=shift;
        $self->global_help if ($self->{help});
}

sub global_help {
    print <<'END';
App::pscan
____________

help (--help for full)

lib/App/pscan/Command/Discover.pm  view on Meta::CPAN

      192.168.1.1
      www.google.it


=cut

sub options {
    ( "verbose" => "verbose" );
}

sub scan() {
    my $self = shift;
    info 'Ping for ' . $self->{'IP'}->ip();

    POE::Component::Client::Ping->spawn(
        Alias   => 'pinger',    # The component's name will be "pinger".
        Timeout => 15,          # The default ping timeout.
    );

    # Create a session that will use the pinger.  Its parameters match
    # event names with the functions that will handle them.

lib/App/pscan/Command/Tcp.pm  view on Meta::CPAN


=cut

sub options {
    (   "verbose"     => "verbose",
        "p|payload=s" => "payload"
    );
}


sub scan() {
    my $self = shift;
    info 'TCP for '
        . $self->{'IP'}->ip()
        . ' port range: '
        . $self->{'first'} . "-"
        . $self->{'last'};

    my $Payload = $self->{'payload'} || "";
    info 'Payload: '.$Payload;
    do {

lib/App/pscan/Scanner.pm  view on Meta::CPAN

use App::pscan::Utils;


sub run {
    my $self = shift;
    $self->_gen_range(shift);
    $self->scan();

}

sub _gen_range() {
    my $self = shift;
    my $cmd=shift;
    my $Ip;
    my $Port;
    if($cmd=~/:/){
         ( $Ip, $Port ) = split( /:/, $cmd );

    } else {
        $Ip=$cmd;
    }



( run in 0.448 second using v1.01-cache-2.11-cpan-65fba6d93b7 )