Ir para conteúdo
Fórum Script Brasil

alexspmiranda

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre alexspmiranda

alexspmiranda's Achievements

0

Reputação

  1. Boa tarde, galera. Estou postando aqui um código de portscan que eu fiz utilizando threads para quem quiser usar ou aprimorar. Ainda estou aprendendo usar Python e com certeza o código precisa ser melhorado porque possui um erro em relação as threads que as vezes uma executa a mesma coisa que a outra. Também estou com uma dúvida, quando ela passa pelas portas 80 e 443, que são portas que permanecem abertas por padrão, não reconhece. Alguém saberia me dizer porque? Segue o código: import threading import random import socket import array import sys IP = raw_input("Entre com o ip:") INICIO = int(raw_input("Entre com o inicio:")) #digite um ip FIM = int(raw_input("Entre com o final:")) class Escaneia(threading.Thread): def __init__(self, IP, INICIO, FIM, MINI, MAXI, TIME): threading.Thread.__init__(self) self.IP = IP self.INICIO = INICIO self.FIM = FIM self.MINI = MINI self.MAXI = MAXI self.TIME = TIME def run(self): try: for i in range(INICIO,FIM): NUM = str(i) HOST = IP+NUM PORT = 0 #varrendo as portas for PORT in range(Send_min, Send_max): try: #print "varrendo..." #criando o socket tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #conectando.... res = tcp.connect_ex((HOST, PORT)) #print "\n", PORT #name = socket.gethostname() #caso seja diferente de zero, a porta esta fechada if res == 0: print "IP: ", HOST, "\nporta: ", PORT, "aberta" tcp.close() thrd = threading.Timer(float(self.TIME), self.timef) thrd.start() thrd.join() except: print "ERRO!!!!" except: print "Erro ao scanear" def timef(self): return 0 qtdThread = 8 qtdPortas = 1024 contThread = qtdPortas/qtdThread threadrun = ["string", (1), 1, 1, 1, 1.0]*qtdThread MINI = array.array('i',(0 for i in range(0,qtdThread))) MAXI = array.array('i',(0 for i in range(0,qtdThread))) for i in range(0,qtdThread): MINI = (contThread * i) MAXI = (contThread *(i+1)-1) Send_min = MINI Send_max = MAXI threadrun = Escaneia(IP, INICIO, FIM, Send_min, Send_max, 0.001) threadrun.start() Abração.
×
×
  • Criar Novo...