파이썬을 이용한 NMAP 사용
기본코딩
import nmap
port_scan = nmap.PortScanner()
port_results = port_scan.scan("192.168.140.128","80","-sV")
print(port_results)
print(port_scan.command_line())
for host in port_scan.all_host():
print("호스트 정보", host, port_scan[host].hostname()
print("호스트 상태", port_scan[host].state())
응용형
import nmap
port_scan = nmap.PortScanner()
host_list = input("호스트 정보 입력 : ")
port_list = "21,22,80"
port_scan.scan(hosts = host_list, arguments= "-sV -p" + port_list)
print(port_scan.command_line())
host_status = [(i, port_scan[i]["status"]["state"]) for i in port_scan.all_hosts()]
for host, status in host_status:
print (host, status)
for protocol in port_scan[host].all_protocols():
print ("프로토콜: ", protocol)
ports = port_scan[host]["tcp"].key()
for port in ports:
print("포트상태 ", port, port_scan[host][protocol][port]["state"])