Scanner feito com shell de comandos Linux

Posted: 18 junho 2011 by Bhior in Marcadores: , , ,
0

Fazendo um simples scanner de portas com comandos nativos do Linux, graças ao pessoal do Command Line Kunk Fu e ao Lanmaster, ficou fácil gerar uma sintaxe para esse fim. Usando o shell de comandos em nível de usuário sem o uso de quaisquer ferramentas.

01 - Vamos criar um arquivo chamado "portas.txt" e "ips.txt" com respectivas portas e ips que desejamos scannear. Isso pode ser feito usando qualquer editor de texto.

$ nano portas.txt
21
22
23
80
443

Ctrl o # para salvar
Ctrl x # para sair

$ nano ips.txt
192.168.1.1
192.168.1.5
192.168.1.10
192.168.1.44
192.168.1.50
192.168.1.102

Ctrl o # para salvar
Ctrl x # para sair

02 - Execute o seguinte comando no shell:
for /F "tokens=*" %j in (ips.txt) do @for /F "tokens=*" %i in (portas.txt) do @((echo open %j %i)&
(echo quit)) | ftp 2>&1 | find "host" && @echo %i is open on %j >> resultado.txt


03 - Veja o resultado:
$ cat resultado.txt
22 is open on 192.168.1.1
443 is open on 192.168.1.10
80 is open on 192.168.1.50

23 is open on 192.168.1.102
443 is open on 192.168.1.102

Cada porta aberta leva 30 segundos para ser concluída e as portas fechadas são instantâneos, mas tudo levar uma quantidade significativa de tempo contra um maquina que não esteja online. Conhecida apenas para IPs ao vivo e sondagem de portas interessantes. O método acima só funciona em XP, 2003 e Windows 7, e não Vista. Vista não não reposta suas informações para a saída padrão ou erro padrão, então você não pode chegar aos dados para analisá-lo. No entanto, eu vim acima com uma solução. Use o seguinte comando:

for /F "tokens=*" %j in (ips.txt) do @for /F "tokens=*" %i in (ports.txt) do
@echo %j:%i & ((echo open %j %i)&(echo quit)) | ftp


Você verá algo parecido com isto:
192.168.1.1:22
Connection closed by remote host.
192.168.1.1:80
> ftp: connect :Connection refused
192.168.1.1:443
Connection closed by remote host.
192.168.1.50:22
> ftp: connect :Connection refused
192.168.1.50:80
Connection closed by remote host.
192.168.1.50:443
> ftp: connect :Connection refused


Qualquer momento ele diz "Conexão fechada pelo host remoto." Isso significa que a porta estava aberta e expirou.

0 comentários: