summaryrefslogtreecommitdiff
path: root/nmapscanner.py
blob: 63b9d5af48f618e2ac5d2cec96198932b2c012fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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])
    except:
        print(f"{sys.argv[0]} demande un ou plusieurs hôtes, une liste de ports, et des arguments optionnels")