python中的端口扫描

python中的端口扫描,python,Python,我是一个新的Python学习者。有人能帮我用一个基本脚本扫描http和https端口,并在用户输入子网(如192.168.1.0/24)后返回ip地址吗?感谢您的帮助不久前,我用Python编写了一个TCP端口扫描程序。它工作良好,易于配置。您键入IP或internet地址,它将输出您扫描的端口。它在Python 2.7的50行中。玩得开心 #!/usr/bin/env python # PIES v1.1 # SYZYGY-DEV333 # Simple TCP port scanner in

我是一个新的Python学习者。有人能帮我用一个基本脚本扫描http和https端口,并在用户输入子网(如192.168.1.0/24)后返回ip地址吗?感谢您的帮助

不久前,我用Python编写了一个TCP端口扫描程序。它工作良好,易于配置。您键入IP或internet地址,它将输出您扫描的端口。它在Python 2.7的50行中。玩得开心

#!/usr/bin/env python
# PIES v1.1
# SYZYGY-DEV333
# Simple TCP port scanner in Python
# Apache Version 2

from socket import *
import sys, time
from datetime import datetime

host = ''
max_port = 5000
min_port = 1

def scan_host(host, port, r_code = 1):
    try:
        s = socket(AF_INET, SOCK_STREAM)
        code = s.connect_ex((host, port))
        if code == 0:
            r_code = code
        s.close()
    except Exception, e:
        pass
    return r_code

try:
    host = raw_input(">> Enter Target Host Address: ")
except KeyboardInterrupt:
    print("\n\n>> User Requested An Interrupt.")
    print(">> Application Shutting Down.")
    sys.exit(1)

hostip = gethostbyname(host)
print("\n>> Host: %s IP: %s" % (host, hostip))
print(">> Scanning Started At %s...\n" % (time.strftime("%H:%M:%S")))
start_time = datetime.now()

for port in range(min_port, max_port):
    try:
        response = scan_host(host, port)
        if response == 0:
            print(">> Port %d: Open" % (port))
    except Exception, e:
        pass

stop_time = datetime.now()
total_time_duration = stop_time - start_time
print("\n>> Scanning Finsihed At %s ..." % (time.strftime("%H:%M:%S")))
print(">> Scanning Duration: %s ..." % (total_time_duration))
print(">> Have a nice day!")

在这里查看我的项目:

欢迎使用StackOverflow,Python\u学习者!不幸的是,你的问题对这个网站来说太广泛了。我们很乐意帮助您解决编程时遇到的具体问题,但您必须在编写之前尝试并发布更多详细信息。有关详细信息,请参阅“”。