FTP anonymous checker

Skapad 3 år sedan, skriven i Perl, med 323 visningar.
URL http://kod.perl.se/view/f3880bad Bädda in
Ladda hem koden eller visa koden i råformatVisa bredare version
  1. #!/usr/bin/perl
  2.  
  3. #$|++;
  4. use strict;
  5. use threads;
  6. use Net::FTP;
  7.  
  8. open(IN, '<', 'ips.txt') or die "Error: $!\n";
  9.  
  10. my $THREAD_COUNT = 64;
  11. my @threads = initThreads();
  12.  
  13. for(@threads){
  14.   $_ = threads->create(\&scanOp);
  15. }
  16.  
  17. for(@threads){
  18.   $_->join();
  19. }
  20.  
  21. close(IN);
  22.  
  23. sub initThreads{
  24.   my @initThreads;
  25.   for(my $i = 1;$i<=$THREAD_COUNT;$i++){
  26.     push(@initThreads,$i);
  27.   }
  28.   return @initThreads;
  29. }
  30.  
  31. sub scanOp{
  32. __START:
  33.   my $host = <IN>;
  34.   chomp($host);
  35.   threads->exit() if $host == '';
  36.   my $ftp = Net::FTP->new($host, Timeout=>5) or warn "Issue: $host : $!\n";
  37.   if($ftp->login('anonymous', '-anonymous@')){
  38.     print "$host - anonymous : anonymous\n";
  39.   }
  40.   if($ftp->login('admin', 'admin')){
  41.     print "$host - admin : admin\n";
  42.   }
  43.   if($ftp->login('ftp', 'ftp')){
  44.     print "$host - ftp : ftp\n";
  45.   }
  46.  
  47.   $ftp->quit;
  48.  
  49.   my $pos = tell IN;
  50.   if(<IN>){
  51.     seek IN, $pos, 0;
  52.     goto __START;
  53.   }
  54.   threads->exit();
  55. }

Svara på "FTP anonymous checker"

Här kan du skriva ett svar till kodsnutten ovan