Psycho_Mind Posted March 8, 2013 at 11:03 AM Report #498432 Posted March 8, 2013 at 11:03 AM (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 March 8, 2013 at 12:01 PM by thoga31 GeSHi
Localhost Posted March 8, 2013 at 02:55 PM Report #498440 Posted March 8, 2013 at 02:55 PM Tens de abrir o ficheiro antes do ciclo e escrever a informação dentro do mesmo. here since 2009
Psycho_Mind Posted March 8, 2013 at 03:47 PM Author Report #498452 Posted March 8, 2013 at 03:47 PM 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ê.
Localhost Posted March 8, 2013 at 08:52 PM Report #498493 Posted March 8, 2013 at 08:52 PM 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) here since 2009
Psycho_Mind Posted March 10, 2013 at 05:26 PM Author Report #498649 Posted March 10, 2013 at 05:26 PM (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 March 10, 2013 at 05:31 PM by Psycho_Mind
Psycho_Mind Posted March 12, 2013 at 01:26 AM Author Report #498803 Posted March 12, 2013 at 01:26 AM 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 🙂
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now