summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nmapscanner.py30
-rw-r--r--scan.py5
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")
+
diff --git a/scan.py b/scan.py
index 80dec63..a8539ea 100644
--- a/scan.py
+++ b/scan.py
@@ -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()