如何编写代码以打印哪个服务在哪个端口上运行,例如在nmap中?

时间:2019-05-25 16:47:22

标签: python nmap kali-linux

我正在尝试编写用于端口扫描的python脚本。如何编写代码以打印哪个服务在哪个端口上运行,例如在nmap中?

这是我的代码:

#!usr/bin/python

import socket
from datetime import datetime
import sys

try:

    host = raw_input("Enter the host to scan - ")    
    ip = socket.gethostbyname(host)

    list = []
    print "Scanning", ip, "for open ports..."    
    start_time = datetime.now()

    for port in range (65535):             
             sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

             if sock.connect_ex((ip, port))==0:                     
                     list.append(port)  

             sock.close()

except KeyboardInterrupt:    
    print "\nYou pressed Ctrl+C."    
    sys.exit()

except socket.gaierror:    
    print "Hostname could not be resolved. Exiting."    
    sys.exit()

except socket.error:    
    print "Couldn't connect to host. Connection refused."
    sys.exit()

stop_time = datetime.now()
total = stop_time - start_time
values = ', '.join(str(v) for v in list)

print "The following ports are open -", values
print "Scanning Completed in", total, "seconds!"

任何帮助表示赞赏。谢谢!

0 个答案:

没有答案