diff options
| author | jerome <jerome@xlinfo.fr> | 2025-06-14 16:06:30 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2025-06-14 16:06:30 +0200 |
| commit | 400248ddaa963b1191c3fc31b9e2e202d92dcdd1 (patch) | |
| tree | 6a8a975b3d6f280dc05920c10d3a2f6b567f3db9 | |
| parent | d5094c679076ad9c26ff0541a239681eacabfee3 (diff) | |
| download | python-400248ddaa963b1191c3fc31b9e2e202d92dcdd1.tar.gz python-400248ddaa963b1191c3fc31b9e2e202d92dcdd1.zip | |
nmapscanner
| -rw-r--r-- | nmapscanner.py | 30 | ||||
| -rw-r--r-- | scan.py | 5 |
2 files changed, 35 insertions, 0 deletions
diff --git a/nmapscanner.py b/nmapscanner.py new file mode 100644 index 0000000..75fd6b9 --- /dev/null +++ b/nmapscanner.py @@ -0,0 +1,30 @@ +import sys +import nmap + +def nmscan(hosts,ports): + nm = nmap.PortScanner() + nm.scan(hosts,ports) + #nm.scan(hosts,arguments=ports) + + 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", "-p22-443 -sV") + +if __name__ == "__main__" : + try: + nmscan(sys.argv[1],sys.argv[2]) + except: + print(f"{sys.argv[0]} demande un hôte et une liste de ports en arguments") + @@ -4,10 +4,15 @@ import socket 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: + pass else: print(f"Le port {port} fermé") s.close() |
