- Code: Select all
use Tk;
use IO::Socket;
$mw=MainWindow->new;
$mw->minsize(qw/300 250/);
$mw->maxsize(qw/300 250/);
$mw->configure(-background=>'black');
$mw->title('Powered by j0k3rz');
$frame=$mw->Frame(-relief=>'groove', -background=>'black')->pack(-side=>'top', -fill=>'x');
$frame2=$mw->Frame(-relief=>'groove', -background=>'black')->pack(-side=>'top', -fill=>'x',-pady=>5);
$frame3=$mw->Frame(-relief=>'groove', -background=>'black')->pack(-side=>'top', -fill=>'x');
$frame4=$mw->Frame(-relief=>'groove', -background=>'black')->pack(-side=>'top', -fill=>'x');
$ip_label=$frame->Label(-text=>'Indirizzo IP', -background=>'black', -foreground=>'green')->pack(-side=>'left');
$ip_text=$frame->Entry(-width=>15, -textvariable=>\$ip)->pack(-side=>'left');
$port_label=$frame2->Label(-text=>'Porta iniziale', -background=>'black', -foreground=>'green')->pack(-side=>'left');
$port_text=$frame2->Entry(-width=>10, -textvariable=>\$portin)->pack(-side=>'left');
$port2_label=$frame2->Label(-text=>'Porta finale', -background=>'black', -foreground=>'green')->pack(-side=>'left');
$port2_text=$frame2->Entry(-width=>10, -textvariable=>\$portend)->pack(-side=>'left');
$result=$frame3->Text(qw/width 12 height 10/)->pack(-side=>'left', -pady=>5, -padx=>5);
$save_results=$frame3->Checkbutton(-activebackground=>'black', -activeforeground=>'green', -background=>'black', -foreground=>'green', -text=>'Save results', -onvalue=>'1', -offvalue=>'0', -variable=>\$save)->pack;
$scan=$frame4->Button(-text=>'Scan', -command=>\&Portscanning)->pack(-side=>'left', -padx=>5, -pady=>5);
MainLoop;
sub Portscanning {
if($save) { open(Log, ">>portopen.txt"); print Log "IP Target: $ip\nFrom Port: $portin\nTo Port: $portend\n"; $i=0;}
$result->selectAll; $result->deleteSelected;
while($portin<=$portend) {
$sock=IO::Socket::INET->new(PeerAddr=>$ip, PeerPort=>$portin, Proto=>'tcp', Timeout=>2);
if($sock) { $result->insert('end', "$portin [OPEN]\n"); print Log "$portin [OPEN]\n"; $i++; close($sock);}
$portin++;
}
print Log "Trovate $i porte aperte\n" if $i;
close(Log);
}
siccome sono nuovo inauguro la mia permanenza sul forum con un semplice portscanner visuale

