import sys import socket import time def scan(host,*ports): for port in ports: s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(2) # Set a 2-second timeout 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") try: print(s.recv(1024).decode().strip()) except TimeoutError: pass else: print(f"Le port {port} fermé") s.close() if __name__ == "__main__" : try: scan(sys.argv[1],*sys.argv[2:]) except: print(f"{sys.argv[0]} demande un hôte et une liste de ports en arguments")