在Python端口扫描程序中添加提示,要求用户输入要扫描的端口,可以使用input()函数来获取用户输入,并结合异常处理来确保输入的合法性。以下是一个示例代码:
import socket
def scan_port(host, port):
try:
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为1秒
s.settimeout(1)
# 尝试连接目标主机和端口
result = s.connect_ex((host, port))
if result == 0:
print(f"端口 {port} 开放")
else:
print(f"端口 {port} 关闭")
s.close()
except socket.error:
print("连接失败")
if __name__ == "__main__":
host = input("请输入要扫描的主机IP地址或域名: ")
port = int(input("请输入要扫描的端口号: "))
scan_port(host, port)
在以上代码中,首先使用input()函数获取用户输入的主机IP地址或域名和要扫描的端口号,并使用int()函数将端口号转换为整数类型。然后,调用scan_port()函数进行端口扫描。如果用户输入的主机IP地址或域名无法连接,会捕获socket.error异常并打印"连接失败"的提示信息。如果连接成功,会根据连接结果打印相应的端口状态信息。
请注意,以上代码仅为示例,实际使用时还需要考虑输入的合法性验证、异常处理、多线程扫描等更多因素。此外,对于大规模的端口扫描任务,建议使用专业的端口扫描工具或库,如Nmap等。
领取专属 10元无门槛券
手把手带您无忧上云