Hi,
Der Portscanner funktioniert allderdings braucht der Socket fast über eine Minute braucht ein Port zu scannen obwohl ich timeout auf 1 gesetzt habe. Wenn ich localhost scanne gehts auch schnell im Internet allerdings nicht. Weiß jemand wie man das schneller machen könnte?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#Portscanner
use IO::Socket;
$info = "\t* Simple Portscanner by GloBoX\n\n";
sub start {
if ($#ARGV != 2) { die "Use: $0 host startport stopport\n" }
else {
$host = $ARGV[0];
$startport = $ARGV[1];
$stopport = $ARGV[2];
if ($startport >= $stopport) { die "Use: $0 host startport stopport\n" }
print $info;
&scanstart();
}
}
sub socket {
$cport = $_[0];
$bool = "True";
$socket = IO::Socket::INET->new (
PeerAddr => $host,
PeerPort => $cport,
Proto => "tcp",
Timeout => 1,
Type => SOCK_STREAM
) || { $bool = "False" };
return($bool);
}
sub scanstart {
my $a = -1;
print "\t** Scanning **\n";
for ($i = $startport; $i <= $stopport; $i++) {
if (&socket($i) eq "True") {
print "\t* Port $i; Open!\n";
@OPorts[$a] = $i; $a++;
}
else { print "\t* Port $i; Closed!\n" }
}
print "\n** Open Ports: ";
foreach $pp (@OPorts) { print "$pp, " }
}
&start();