Jump to content
darksky19

[Resolvido] [Ajuda] __name__=="__main__" E 'Def' Funçoes

Recommended Posts

darksky19

Olá pessoal!

Tou agora a começar em python, e estou a seguir este livro "Violent Python -> A cookbook for Hackers, Forensic Analyst and Penetration Testers". Acho o livro bastante interessante e como quero aprender mais sobre penetrations test e provavelmente tornar me especialista em segurança informatica, acho que este livro é sem dúvida um "must read".

Já tenho algum conhecimento em programação mas estou me a deparar aqui com um problema , logo no primeiro exercicio do livro em que o autor ensina a programar um "port scanner" básico. Instalei o Filezilla para ver se funcionava e funciona perfeito sem funções, mas quando começo a criar funções , como no caso a baixo ele simplesmente corre sem erros mas nao me da o banner de boas vindas do servidor que tenho aqui no meu pc com o Filezilla. <.< Basicamente corre mas nao mostra nada na consola. (Já agora tou a usar o Eclipse como IDLE)

Tou um bocado atrapalhado porque ja corri tudo mas nao encontro resposta para o meu problema, acho que o problema possa estar nisto "if __name__ == __main__: main()" mas nao sei mesmo se será.

O código esta igual ao do livro. Espero que me possam ajudar obrigado!

import socket

def ban (ip, port):

   try:

       socket.setdefaulttimeout(2)
       con=socket.socket()

       con.connect ((ip, port))

       inf=con.recv(1024)

       return inf

   except:
       return   

def main():

   ip1="127.0.0.1"
   port=21

   ban1= ban(ip1, port)

   if ban1:
       print("++"+ip1+":"+ban1)

   if __name__ == "__main__":
       main()     

Edited by thoga31
GeSHi

[move][shadow=yellow,left][glow=blue,2,300]«---$$D@rK§Ky19$$---»[/glow][/shadow][/move]

Share this post


Link to post
Share on other sites
thoga31

As duas últimas linhas de código estão indentadas, logo pertencem ao método "main". Logo, o Python não tem uma única linha de código por onde começar. Tens de tirar a indentação a esse último "if".


Knowledge is free!

Share this post


Link to post
Share on other sites
darksky19

Olá thoga31.

Obrigado , resolveu! xD

Minha nossa , foi so fazer um "BackSpace" e pronto.

import socket

def ban (ip, port):


       socket.setdefaulttimeout(2)
       con=socket.socket()

       con.connect ((ip, port))

       inf=con.recv(1024)

       return inf

def main():

   ip1="127.0.0.1"
   port=21

   ban1= ban(ip1, port)

   if ban1:
       print("++"+ ip1 +":"+ str(ban1))

if __name__ == "__main__":
   main()      

Output:

"++127.0.0.1:b'220 FileZilla Server version 0.9.41 beta\r\n'"

Obrigado pela ajuda, tenho de estar mais atento a estes promenores. :thumbsup:

Edited by thoga31
GeSHi

[move][shadow=yellow,left][glow=blue,2,300]«---$$D@rK§Ky19$$---»[/glow][/shadow][/move]

Share this post


Link to post
Share on other sites

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.