Python 扫描端口并保存开放端口列表
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_port和end_port变量分别指定端口范围的起始和结束端口。s.settimeout(0.5)设置连接超时时间,可以根据需要调整。
使用方法:
- 将代码保存为
.py文件。 - 使用管理员权限运行该文件。
- 代码运行完成后,会在当前目录下生成
open_ports.txt文件,其中包含扫描到的开放端口列表。
希望这篇文章能够帮助你了解如何使用 Python 扫描端口。
原文地址: https://www.cveoy.top/t/topic/lRn8 著作权归作者所有。请勿转载和采集!