Guardar dados capturados para ficheiro - Python - Portugal-a-Programar
Guardar dados capturados para ficheiro
By Psycho_Mind, March 8, 2013 in Python
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):
if(s.connect_ex((ip,port))==0):
print "Port " , port, "is open"
print "Port ", port, "is closed"
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 March 8, 2013 by thoga31
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ê.
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 March 10, 2013 by Psycho_Mind
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.