A-A+

python 多线程扫描 IP端口 开放程序

2023年12月12日 14:23 学习笔记 暂无评论 共693字 (阅读264 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

代码来源:openai
感慨写的还是蛮不错的。这种简单的程序,用openai,真的是太方便了。

import socket
import threading

def check_port(ip, port):
    try:
        # 创建socket对象
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 设置超时时间为1秒
        sock.settimeout(1)
        
        # 尝试连接到目标IP和端口
        sock.connect((ip, port))
        
        # 如果连接成功,打印开放的端口信息
        print(f"Port {port} is open on {ip}")
        
    except socket.error:
        pass
    finally:
        # 关闭socket连接
        sock.close()

def scan_ports(ip, start_port, end_port):
    print(f"Scanning ports on {ip}...")
    
    # 循环遍历指定范围内的端口
    for port in range(start_port, end_port + 1):
        # 创建一个线程来检查端口
        thread = threading.Thread(target=check_port, args=(ip, port))
        # 启动线程
        thread.start()

def main():
    # 目标IP地址
    target_ip = "127.0.0.1"
    
    # 起始和结束端口范围
    start_port = 1
    end_port = 1024
    
    # 调用扫描端口的函数
    scan_ports(target_ip, start_port, end_port)

if __name__ == "__main__":
    main()

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言