diff options
Diffstat (limited to 'scan.py')
| -rw-r--r-- | scan.py | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -1,17 +1,20 @@ +import sys import socket -host="127.0.0.1" -for port in range(0,65535): +def scan(host,*ports): + for port in ports: + s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) + addr_server=(host,int(port)) + tentative=s.connect_ex(addr_server) #connect_ex renvoie 0 en cas de succès... + if tentative==0: + print(f"Le port {port} ouvert") + else: + print(f"Le port {port} fermé") + s.close() + +if __name__ == "__main__" : try: - s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) - s.settimeout(0.5) - s.connect((host,port)) # un tuple en argument : (( )) - try: - banner = s.recv(1024) - print("Le port ",port," est ouvert", banner.decode("utf-8").strip()) - except: - print("Le port ",port," est ouvert") + scan(sys.argv[1],*sys.argv[2:]) except: - pass + print(f"{sys.argv[0]} demande un hôte et une liste de ports en arguments") -s.close() |
