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...")
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Vc tem um projeto opensource? link? (1)
A coisa universal é muito mais ampla do que cê imagina (10)
Linux Mint - Instalação do Ocomon 6x e suas dependências (1)