R4tz - Portscan basicão
Publicado por Danillo Souza (última atualização em 18/05/2010)
[ Hits: 4.818 ]
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).
#!/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;
Carregando automaticamente wireless via ndiswrapper
Importação de IPs do Whatsapp como Objeto do Zentyal
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Como rodo essa suinaria? [RESOLVIDO] (6)
Problemas latentes de performance no Ubuntu 25.04 (1)