Jump to content

Recommended Posts

Posted (edited)

Boas.

Tenho um programa que está a verificar um intervalo de portas para ver se as mesmas estão abertas ou não. Mas queria passar depois essa informção para um ficheiro, mas aqui é que estou a ter um problema.

Presumo que deva de ter um ciclo para que ele veja todas as portas (abertas/fechadas) que mostrou para as poder guardar no ficheiro, mas não sei como colocar esse ciclo no código que já tenho.

for port in range(start_port,end_port + 1):
    s=socket(AF_INET, SOCK_STREAM)        
    s.settimeout(timeout)                
    if(s.connect_ex((ip,port))==0):        
        print "Port " , port, "is open"    
        s.close()                            
    else:
        print "Port ", port, "is closed"    
        s.close()

scan_log= open("scan_file.pdf","w")
scan_log.write("Ports for %s:\n" % ip)
scan_log.write("%s\n" % port)
scan_log.close()
Edited by thoga31
GeSHi
Posted

Tens de abrir o ficheiro antes do ciclo e escrever a informação dentro do mesmo.

Isso eu já tinha conseguido perceber... dai ter falado que seria à partida necessário o tal loop... o problema é que das formas que tentei não consegui obter o esperado. Estarei com certeza a fazer algo de errado, só não sei o quê.

Posted (edited)

Tenta entender isto:

para todas as portas cur_port:
se cur_port == ABERTA:
escrever_ficheiro ("Porta aberta: ", cur_port)
noutro caso:
escrever_ficheiro ("Porta fechada: ", cur_port)

Eu já percebi a ideia de como ter que proceder... Terei que com o loop ir buscar as portas que são apresentadas, mas não estou a conseguir ir buscar as mesmas. Nunca me guarda no ficheiro exatamente como me apresenta na shell. Apresenta-me apenas a ultima porta do range que defino.

Edited by Psycho_Mind
Posted

Parece que finalmente consegui resolver a situação. Não estava a colocar as coisas no sitio certo e faltavam uns pormenores, que isto de nunca se ter utilizado a linguagem às vezes o mais simples também complica. Obrigado pela ajuda.

A escrita no ficheiro já está agora a ver se a leitura corre melhor 🙂

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.