파이썬 코드

파이썬을 이용한 NMAP 사용

Sungsily 2023. 2. 12. 07:25

기본코딩

 

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"])