| 
					
				 | 
			
			
				@@ -1,65 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package SimplyGit::Shellex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use strict; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use warnings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Log::Log4perl qw(:easy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Exporter qw(import); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-our @EXPORT_OK = qw(shellex findBin knocker); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-sub knocker($$$) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $target = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $portRef = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $logger = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $nmapCmd = findBin("nmap",$logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	foreach my $port (@$portRef) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		shellex("$nmapCmd -Pn --host_timeout 201 --max-retries 0 -p $port $target > /dev/null",$logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-sub shellex { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        my $cmd = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $logger = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ( defined $logger && $logger ne '' ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$logger->info("Running: $cmd 2>&1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        my $output = `$cmd 2>&1`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	chomp $output; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $rc = $?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ( defined $logger && $logger ne '' ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$logger->info("Returned: $rc"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ( $rc != 0 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if ( defined $logger && $logger ne '' ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$logger->error("$cmd returned non-zero: $rc"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		print "$cmd returned non-zero: $rc\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return $output; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-sub findBin { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $cmd = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $logger = shift; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $binPath = shellex("which $cmd",$logger); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	my $rc = $?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	chomp $binPath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ( $rc != 0 ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if ( defined $logger && $logger ne '' ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$logger->error("Couldn't find a path for $cmd, exiting..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return $binPath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-1; 
			 |