R4tz - Portscan basicão

Publicado por Danillo Souza (última atualização em 18/05/2010)

[ Hits: 4.725 ]

Download r4tz




Ele é bem simples, você passa como parâmetro o host, opcionalmente as portas de início e fim e o nome do arquivo log que ele vai gerar.

A partir daí ele percorre as portas (caso você tenha especificado, vai percorrer somente aquela faixa) verificando quais estão abertas para uma conexão TCP/IP, depois imprime na tela e salva no arquivo uma linha dizendo a porta atual e o estado dela (open/closed).

  



Esconder código-fonte

#!/usr/bin/perl -w
use strict;
use IO::Socket::INET;

## Pra postar aqui tirei o POD do começo do arquivo, mas deixei no script pra download.

sub usage {
   printf "Usage: %s <hostaddr> [<init> <endp> <logfile>]\n", $0;
   printf "   <hostaddr> - Adress to check.\n";
   printf "   <init>     - Initial port(default is 1).\n";
   printf "   <endp>     - Final port(default is 65000).\n";
   printf "   <logfile>  - File to save log(default is log.ports).\n";
   exit;
}

my $host = $ARGV[0] || usage;
my $init = $ARGV[1] || 1;
my $endp = $ARGV[2] || 65000;
my $file = $ARGV[3] || 'log.ports';
my $tmp_sock = '';

($init, $endp) = ($init < $endp) ? ($init, $endp) : ($endp, $init);

open ARQ, ">", $file;

foreach (($init .. $endp)) {
   $tmp_sock = IO::Socket::INET->new(
      PeerAddr => $host,
      PeerPort => $_,
      Proto    => 'tcp',
      Type     => SOCK_STREAM
   );

   if ($tmp_sock) {
      printf "[%05d]  -  Open.\n", $_;
      printf ARQ "[%05d]  -  Open.\n", $_;
   }
   else {
      printf "[%05d]  -  Closed.\n", $_;
      printf ARQ "[%05d]  -  Closed.\n", $_;
   }
}

close ARQ;

Scripts recomendados

Servidor remoto de ps aux

Obter Nome e IP do Host

Web Fuzzer em Perl

Forensic Net Tools

Enviando notificações do Nagios para o MSN


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts