Rechercher : dans
Par :

Perl port scanner, probleme de thread

Dernière réponse le 19 nov 2008 à 21:21:08 Om3g4, le 7 mar 2004 à 12:07:24 
 Signaler ce message aux modérateurs



#!/usr/bin/perl
use IO::Socket::INET;
my $TIMEOUT = 10;

printf "*****************************************\n";
printf "* UnderAttack *\n";
printf "* By Om3g4 *\n";
printf "*****************************************\n";

if (! defined $ARGV[1]) {
printf "\nUsage: UnderAttack [TARGET] <OPTS>\n\n";
printf "Target Options:\n";
printf "[-I] --> Target IP Range\n";
printf "[-F] --> Target IP File\n\n";
printf "Options:\n";
printf "<-P> --> Ports To Scan\n";
printf "<-T> --> Thread (default = 10)\n";
printf "<-O> --> Output File\n";
exit 0; }

for (my $x=0;$x<=$#ARGV;$x++) {
if (@ARGV[$x]=~/\-i/) { @TARGET = make_ip(@ARGV[$x+1]); }
if (@ARGV[$x]=~/\-f/) { @TARGET = make_ip(@ARGV[$x+1],10); }
if (@ARGV[$x]=~/\-p/) { @PORTS = make_ports(@ARGV[$x+1]); }
if (@ARGV[$x]=~/\-t/) { $THREAD = @ARGV[$x+1]; }
if (@ARGV[$x]=~/\-o/) { $OUTPUT = @ARGV[$x+1]; } }

print "\nStarting Attack\t".(scalar localtime)."\n\n";

foreach (@TARGET) {
scan($_);
}

sub scan {
my ($ip)=@_;
for (my $i = $1; $i <=$#PORTS; $i++) {
check_port($ip, $PORTS[$i]);
next;
}
}

sub check_port {
my ($iaddr, $port) = @_;
printf "+%s: Scan For %s\n", $iaddr, $port;
my $sock = IO::Socket::INET->new(PeerAddr => $iaddr,
PeerPort => $port,
Timeout => 0.4) or print bleh;
if ($sock) { my $grab = grab($sock); printf "+%s: ==> %s Active : %s\n", $iaddr, $port, $grab; }
close $sock;
}

sub check_port2 {
my ($iaddr, $port) = @_;
printf "+%s: Scan For %s\n", $iaddr, $port;
my $proto = getprotobyname('tcp');
my $paddr = sockaddr_in($port, inet_aton($iaddr));
socket(SOCKET, PF_INET, SOCK_STREAM, $proto);
connect(SOCKET, $paddr);
if (<SOCKET>) { my $grab = grab(SOCKET); printf " ==> %s Active : %s\n", $iaddr, $port, $grab; }
}


sub grab { return <$_>; }

sub ping {
my ($ip) = @_;
my $p = Net::Ping->new("icmp");
print "Ping $host";
print "NOT " unless $p->ping($host, 2);
print "alive.\n";
$p->close(); }

sub make_ports {
my @port_strings = split(/,/, shift);
my @ports;
foreach (@port_strings) {
if (/(\d+)-(\d+)/) {
for (my $i = $1; $i <= $2; $i++) { push(@ports, $i); }
} else { push(@ports, $_); }
}
return @ports; }

sub make_ip {
my $ip = shift;
my $fonc = shift;
if (defined $fonc) {
open(IPLIST, $ip) or die "Unable to open iplist: $!";
@IP = <IPLIST>;
close(IPLIST);
chomp(@IP);
} else {
if ($ip=~/\-/) { ($IP1,$IP2)=split(/\-/,$ip); ($IP11,$IP12,$IP13,$IP14)=split(/\./,$IP1); ($IP21,$IP22,$IP23,$IP24)=split(/\./,$IP2);
$i = $IP14;
LOOP:
while($i<=$IP24) {
$i++;
my $ipaddr="$IP11.$IP12.$IP13.$i";
push(@IP, $ipaddr);
}
if ($IP13<$IP23) { $IP13++; $i = 1; goto LOOP }
} else { push(@IP, $ip); }
}
return @IP; }




je voudrait pouvoir créer plusieur socket, j ai essailler en assignant chaque socket dans un scalar mais sans resultat, j ai essailler avec la lib Thread mais elle bouffe le cpu, si kelkun pourrait m aider sa srait vraiment cool

Meilleures réponses pour « perl port scanner, probleme de thread » dans :
Télécharger Advanced Port Scanner Voir Advanced Port Scanner est un scanner de ports. Il vous listera les ports ouverts, susceptibles d'être utilisés par les pirates informatiques pour attaquer votre PC. Il utilise deux techniques pour scanner ces ports : - le scanning des ports TCP...
Les scanners de vulnérabilités - Balayage de ports Voir Le balayage de ports Un « scanner de vulnérabilité » (parfois appelé « analyseur de réseaux ») est un utilitaire permettant de réaliser un audit de sécurité d'un réseau en effectuant un balayage des ports ouverts (en anglais port scanning) sur...
Scanner en ligne avec Kaspersky VoirA savoir sur Kaspersky Online Scanner 7.0 Préparatifs Analyse de l'ordinateur Résultats d'analyse Sauvegarde du rapport /!\Attention, le scan en ligne Kaspersky est actuellement en cours de mises à jour et d'amélioration.
Installer le pilote Twain pour un scanner Canon VoirProblème Comment installer le pilote Twain pour son scanner ? Solution Pour installer le pilote Twain : Il existe différentes manières d'installer le pilote Twain manuellement : Vérifiez que le scanner apparaît dans le "Gestionnaire de...
Le scanner VoirLe scanner Un scanner (anglicisme pour le mot français «numériseur») est un périphérique d'acquisition permettant de numériser des documents, c'est-à-dire de transformer un document papier en image numérique. On distingue généralement trois...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

1

 MHD, le 19 nov 2008 à 21:21:08

Bonjour, est ce un scanner de port ce que tu as programmé, si c'est le cas il ne marche pas sur mon ordinateur, je ne sais pas pourquoi il n'écrit que les premières lignes et il s'arrête , donc si tu peux m'aider je te serai tés reconnaissant car j'en ai vraiment besoin. merci.

Répondre à MHD