
Enviado em 16/02/2019 - 14:21h
Estou escrevendo um enumerador geral para o prompt/terminal e estou penando pra usar a função argv do módulo sys. Vou deixar o código pra entenderem melhor o problema mas não precisa ler. Basicamente quero que o usuário passe dois argumentos, um IP INICIAL e um IP FINAL, a tarefa do script é pegar esse bloco de ip e ir checando os serviços. Como faço pra quando esses argumentos forem passados sejam adicionados à lista sys.argv todos os IPS que vão do primeiro ao segundo passados via linha de comando? Como no Nmap#!/usr/bin/python
import socket
import sys
import re
import os
RED = "\033[1;31m"
BLUE = "\033[1;34m"
CYAN = "\033[1;36m"
GREEN = "\033[0;32m"
RESET = "\033[0;0m"
BOLD = "\033[;1m"
REVERSE = "\033[;7m"
if len(sys.argv)!=2:
print(RED+"\nBem-vindo ao enumerador geral nietzscheano.")
print("A sintaxe utilizada é "+BOLD+"errada."+RED+"Utilize o IP alvo.")
print("Tente : python enumall.py 127.0.0.1")
print("Se você quiser descobrir o ip do site alvo utilize -si\n")
else:
print(GREEN+REVERSE+"\n!-INICIANDO ENUMERADOR GERAL-!\n")
print(RED+BOLD+"---------------------------------------------")
print(RESET+BLUE+"!-VERIFICANDO FTP EM HOST "+sys.argv[1]+"-!\n")
print(RED+BOLD+"---------------------------------------------")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],21))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except Exception as e:
print(RED+BOLD+"Não foi possível estabelecer conexão com "+sys.argv[1]+" na porta 21(FTP).")
r1 = input("O serviço FTP está rodando em outra porta? (S/N)")
if r1=="S" or r1=="s":
port = input("Digite a porta : ")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],port))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except:
print("Não foi possível estabelecer conexão.")
print("Prosseguindo...")
elif r1=="N" or r1=="n":
print("Prosseguindo...")
print(RED+BOLD+"---------------------------------------------")
print(RESET+BLUE+"!-VERIFICANDO ACESSO REMOTO DE SMB EM HOST "+sys.argv[1]+"-!\n")
print(RED+BOLD+"---------------------------------------------")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],21))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except Exception as e:
print(RED+BOLD+"Não foi possível estabelecer conexão com "+sys.argv[1]+" na porta 21(FTP).")
r1 = input("O serviço FTP está rodando em outra porta? (S/N)")
if r1=="S" or r1=="s":
port = input("Digite a porta : ")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],port))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except:
print("Não foi possível estabelecer conexão.")
print("Prosseguindo...")
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









