Python 扫描端口并保存开放端口列表

本文将介绍使用 Python 代码扫描指定主机范围内的端口,并保存开放端口列表到文本文件。

代码实现:

import socket

# 定义要扫描的主机和端口范围
host = '127.0.0.1'
start_port = 1
end_port = 65535

# 创建一个空列表,用于保存开放的端口
open_ports = []

# 循环遍历端口范围,尝试连接
for port in range(start_port, end_port + 1):
    try:
        # 创建一个socket对象
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 设置连接超时时间
        s.settimeout(0.5)
        # 尝试连接
        result = s.connect_ex((host, port))
        # 如果连接成功,表示该端口开放
        if result == 0:
            print(f'Port {port} is open')
            open_ports.append(port)
        # 关闭socket连接
        s.close()
    except:
        pass

# 将开放的端口保存到文件中
with open('open_ports.txt', 'w') as f:
    for port in open_ports:
        f.write(str(port) + '\n')

运行代码后,会输出开放的端口,并将其保存到当前目录下的 open_ports.txt 文件中。

注意:

  • 需要使用管理员权限运行才能扫描所有端口。
  • 代码中 host 变量指定要扫描的主机,可以修改为其他 IP 地址或域名。
  • start_portend_port 变量分别指定端口范围的起始和结束端口。
  • s.settimeout(0.5) 设置连接超时时间,可以根据需要调整。

使用方法:

  1. 将代码保存为 .py 文件。
  2. 使用管理员权限运行该文件。
  3. 代码运行完成后,会在当前目录下生成 open_ports.txt 文件,其中包含扫描到的开放端口列表。

希望这篇文章能够帮助你了解如何使用 Python 扫描端口。

Python 扫描端口并保存开放端口列表

原文地址: https://www.cveoy.top/t/topic/lRn8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录