D
Default
<cry>
Not getting any sort of error at all, the program just ends. 0_o
Exporter and DynaLoader are both installed.
Curses is installed properly.
If i run the program from the debugger these messeges appear.
Subroutine bits redefined at C:/Perl/lib/Strict.pm line 101.
Subroutine import redefined at C:/Perl/lib/Strict.pm line 107.
Subroutine unimport redefined at C:/Perl/lib/Strict.pm line 112.
Subroutine Croaker redefined at C:/Perl/lib/Warnings.pm line 292.
Subroutine bits redefined at C:/Perl/lib/Warnings.pm line 298.
Subroutine import redefined at C:/Perl/lib/Warnings.pm line 330.
Subroutine unimport redefined at C:/Perl/lib/Warnings.pm line 368.
Subroutine __chk redefined at C:/Perl/lib/Warnings.pm line 396.
Subroutine enabled redefined at C:/Perl/lib/Warnings.pm line 444.
Subroutine warn redefined at C:/Perl/lib/Warnings.pm line 457.
Subroutine warnif redefined at C:/Perl/lib/Warnings.pm line 470.
Here is the script, I'm only using curses to try and clean up the display.
Please help this is way over my newbie head.
#!
use Strict;
use Warnings;
use Curses;
use Socket;
initscr;
$| = 1;
my ($internet_addr, $paddr, $remote_port, $remote_host, $kidpid1,
$kidpid2, $kidpid3, @ports_even1, @ports_odd1, @ports_even2,
@ports_odd2,);
my $counter = 1;
my $p_e_loader1 = 2;
my $p_o_loader1 = 1;
my $p_e_loader2 = 514;
my $p_o_loader2 = 513;
print "\n" . ' ' . '='x78 . "\n";
print "\t\t\t\tPort Scanner\n";
print ' ' . '='x78 . "\n\n";
while ($counter <= 256)
{
push (@ports_even1, $p_e_loader1);
$p_e_loader1++;$p_e_loader1++;
$counter++;
if ($counter >= 250) {print "\n@ports_even1\n";my $pause = <STDIN>;}
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_odd1, $p_o_loader1);
$p_o_loader1++;$p_o_loader1++;
$counter++;
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_even2, $p_e_loader2);
$p_e_loader2++;$p_e_loader2++;
$counter++;
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_odd2, $p_o_loader2);
$p_o_loader2++;$p_o_loader2++;
$counter++;
}
undef $counter;
#resolve targets address
$remote_host = shift || 'localhost';
$internet_addr = inet_aton($remote_host) ||
die "Couldn't resolve $remote_host"."'s address\n($!)\n($^E)*";
#create two processes
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid1 = fork());
if ($kidpid1) #first parent process
{
foreach $remote_port (@ports_even1)
{
my $win = new Curses;
$win->addstr(10, 1, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port"
socket(SOCK_OUT, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else #first child process
{
#create a third process
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid2 = fork());
if ($kidpid2) #second parent process
{
foreach $remote_port (@ports_odd1)
{
my $win = new Curses;
$win->addstr(10, 11, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port"
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else #second child process
{
#create a fourth process
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid3=fork());
if ($kidpid3) #third parent process
{
foreach $remote_port (@ports_even2)
{
my $win = new Curses;
$win->addstr(10, 21, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port";
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else
{
foreach $remote_port (@ports_odd2)
{
my $win = new Curses;
$win->addstr(10, 31, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port";
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
}
}
endwin;
kill("TERM", $kidpid1);
kill("TERM", $kidpid2);
kill("TERM", $kidpid3);
print "\nDone.\n" && exit;
Not getting any sort of error at all, the program just ends. 0_o
Exporter and DynaLoader are both installed.
Curses is installed properly.
If i run the program from the debugger these messeges appear.
Subroutine bits redefined at C:/Perl/lib/Strict.pm line 101.
Subroutine import redefined at C:/Perl/lib/Strict.pm line 107.
Subroutine unimport redefined at C:/Perl/lib/Strict.pm line 112.
Subroutine Croaker redefined at C:/Perl/lib/Warnings.pm line 292.
Subroutine bits redefined at C:/Perl/lib/Warnings.pm line 298.
Subroutine import redefined at C:/Perl/lib/Warnings.pm line 330.
Subroutine unimport redefined at C:/Perl/lib/Warnings.pm line 368.
Subroutine __chk redefined at C:/Perl/lib/Warnings.pm line 396.
Subroutine enabled redefined at C:/Perl/lib/Warnings.pm line 444.
Subroutine warn redefined at C:/Perl/lib/Warnings.pm line 457.
Subroutine warnif redefined at C:/Perl/lib/Warnings.pm line 470.
Here is the script, I'm only using curses to try and clean up the display.
Please help this is way over my newbie head.
#!
use Strict;
use Warnings;
use Curses;
use Socket;
initscr;
$| = 1;
my ($internet_addr, $paddr, $remote_port, $remote_host, $kidpid1,
$kidpid2, $kidpid3, @ports_even1, @ports_odd1, @ports_even2,
@ports_odd2,);
my $counter = 1;
my $p_e_loader1 = 2;
my $p_o_loader1 = 1;
my $p_e_loader2 = 514;
my $p_o_loader2 = 513;
print "\n" . ' ' . '='x78 . "\n";
print "\t\t\t\tPort Scanner\n";
print ' ' . '='x78 . "\n\n";
while ($counter <= 256)
{
push (@ports_even1, $p_e_loader1);
$p_e_loader1++;$p_e_loader1++;
$counter++;
if ($counter >= 250) {print "\n@ports_even1\n";my $pause = <STDIN>;}
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_odd1, $p_o_loader1);
$p_o_loader1++;$p_o_loader1++;
$counter++;
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_even2, $p_e_loader2);
$p_e_loader2++;$p_e_loader2++;
$counter++;
}
$counter = 1;
while ($counter <= 256)
{
push (@ports_odd2, $p_o_loader2);
$p_o_loader2++;$p_o_loader2++;
$counter++;
}
undef $counter;
#resolve targets address
$remote_host = shift || 'localhost';
$internet_addr = inet_aton($remote_host) ||
die "Couldn't resolve $remote_host"."'s address\n($!)\n($^E)*";
#create two processes
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid1 = fork());
if ($kidpid1) #first parent process
{
foreach $remote_port (@ports_even1)
{
my $win = new Curses;
$win->addstr(10, 1, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port"
socket(SOCK_OUT, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else #first child process
{
#create a third process
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid2 = fork());
if ($kidpid2) #second parent process
{
foreach $remote_port (@ports_odd1)
{
my $win = new Curses;
$win->addstr(10, 11, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port"
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else #second child process
{
#create a fourth process
die "can't fork\n($!)\n($^E)\n*" unless defined($kidpid3=fork());
if ($kidpid3) #third parent process
{
foreach $remote_port (@ports_even2)
{
my $win = new Curses;
$win->addstr(10, 21, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port";
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
else
{
foreach $remote_port (@ports_odd2)
{
my $win = new Curses;
$win->addstr(10, 31, "$remote_port");
$win->refresh;
# print "\b\b\b\b \b\b\b\b";
# print "$remote_port";
socket(SOCK_OUT, PF_INET, SOCK_STREAM,
getprotobyname('tcp'));
$paddr = sockaddr_in($remote_port, $internet_addr);
if (connect(SOCK_OUT, $paddr))
{print "\nPort: $remote_port is open.\n";}
eval
{
local $SIG{ALRM} = sub { die "alarm\n" };
alarm 1;
close(SOCK_OUT);
alarm 0;
};
}
}
}
}
endwin;
kill("TERM", $kidpid1);
kill("TERM", $kidpid2);
kill("TERM", $kidpid3);
print "\nDone.\n" && exit;