Python 端口扫描器(新手)

import socket
from concurrent.futures import ThreadPoolExecutor

def scan_port(host, port):
"""
单个端口扫描函数
:param host: 目标IP地址
:param port: 目标端口
"""
try:
# 创建TCP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1) # 设置超时时间
# 尝试连接端口
result = sock.connect_ex((host, port))
if result == 0:
print(f"[+] 端口 {port} 开放")
sock.close()
except Exception as e:
pass

def main():
# 获取用户输入
target_host = input("请输入目标IP地址: ")
start_port = int(input("请输入起始端口: "))
end_port = int(input("请输入结束端口: "))

print(f"正在扫描 {target_host} 的端口 {start_port}-{end_port}...")

# 使用线程池并发扫描
with ThreadPoolExecutor(max_workers=50) as executor:
    for port in range(start_port, end_port + 1):
        executor.submit(scan_port, target_host, port)

if name == "main":
main()

posted @ 2026-01-28 15:48  重启一下试逝  阅读(3)  评论(0)    收藏  举报