import sys import nmap def nmscan(hosts,ports,arguments='-sV'): nm = nmap.PortScanner() nm.scan(hosts,ports,arguments) for host in nm.all_hosts(): print('----------------------------------------------------') print('Host : %s (%s)' % (host, nm[host].hostname())) print('State : %s' % nm[host].state()) for proto in nm[host].all_protocols(): print('----------') print('Protocol : %s' % proto) lport = nm[host][proto].keys() #lport.sort() for port in lport: print("Port : %s\tState : %s\tService : %s (%s - %s)" % (port, nm[host][proto][port]['state'], nm[host][proto][port]['name'], nm[host][proto][port]['product'], nm[host][proto][port]['version'])) # nmscan("xlinfo.fr","22-443") # nmscan("xlinfo.fr","53","-sU -sV") en sudo... # nmscan("192.168.2.0/24","22") if __name__ == "__main__" : try: if len(sys.argv) > 3: nmscan(sys.argv[1],sys.argv[2],sys.argv[3]) else: nmscan(sys.argv[1],sys.argv[2],'-sV') except: print(f"{sys.argv[0]} demande un ou plusieurs hôtes, une liste de ports, et des arguments optionnels")