端口扫描程序

python实现的一个简单的端口扫描程序:
单线程:

import socket

def scan_ports(host, start_port, end_port, timeout=1.0):
    print(f"Scanning {host} from port {start_port} to {end_port}...\n")
    open_ports = []
    for port in range(start_port, end_port + 1):
        try:
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.settimeout(timeout)
            result = sock.connect_ex((host, port))
            if result == 0:
                print(f"Port {port} is OPEN")
                open_ports.append(port)
            sock.close()
        except Exception as e:
            print(f"Error scanning port {port}: {e}")
    return open_ports

# 示例用法
if __name__ == "__main__":
    target_host = "127.0.0.1"       # 修改为你要扫描的 IP 或域名
    start = 1                      # 起始端口
    end = 9999                      # 结束端口
    scan_ports(target_host, start, end)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值