一、双系统安装步骤

Windows pip 安装 & Kali 命令行安装,解决依赖缺失问题

Windows Kali 查看详情 →

二、基础脚本编写

简单压测脚本示例,启动 Locust Web 控制台,配置并发参数

Windows Kali 查看详情 →

三、高级实战技巧

用户行为链、参数化测试、分布式压测、HTML 报告生成

Windows Kali 查看详情 →

四、安全与避坑指南

合法压测范围、资源监控、常见报错解决方案

Windows Kali 查看详情 →

Locust 双系统安装教程

1. 前置条件(双系统通用)

安装 Python 3.8+ 版本,验证命令:python --versionpython3 --version

确保 pip 工具可用:pip --versionpip3 --version

2. Windows 系统安装步骤

① 打开 cmd 命令提示符,执行安装命令:

pip install locust

② 验证安装成功:

locust -V

③ 若出现依赖报错,升级 pip 后重试:

python -m pip install --upgrade pip

3. Kali Linux 系统安装步骤

① 更新系统包索引:

sudo apt update

② 安装 Python 和 pip(若未安装):

sudo apt install python3 python3-pip -y

③ 安装 Locust:

pip3 install locust

④ 验证安装:

locust -V

Locust 基础使用全流程

1. 编写压测脚本(test_locust.py)

创建 Python 脚本,定义用户行为:

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    wait_time = between(1, 3)  # 任务间隔 1-3 秒

    @task
    def index_page(self):
        self.client.get("/")  # 访问首页

    @task(3)  # 权重为3,执行频率更高
    def about_page(self):
        self.client.get("/about")  # 访问关于页

2. 启动 Locust 控制台(双系统通用)

① 进入脚本所在目录,执行启动命令:

locust -f test_locust.py --host=https://目标网站.com

② 打开浏览器访问:http://localhost:8089

3. 配置压测参数并运行

✓ Number of users:总并发用户数

✓ Spawn rate:每秒启动的用户数

✓ Host:目标网站地址(若启动时已指定可忽略)

点击 Start swarming 开始压测

Locust 高级实战技巧

1. 参数化测试(读取 CSV 数据)

import csv
from locust import HttpUser, task, between

def get_test_data():
    data = []
    with open("test_data.csv", newline="") as f:
        reader = csv.reader(f)
        next(reader)  # 跳过表头
        for row in reader:
            data.append({"username": row[0], "password": row[1]})
    return data

test_data = get_test_data()

class UserBehavior(HttpUser):
    wait_time = between(1, 2)

    @task
    def login(self):
        for data in test_data:
            self.client.post("/login", data=data)

2. 分布式压测(多机器协作)

Windows/Kali 主控机

locust -f test_locust.py --host=https://目标网站.com --master

Windows/Kali 从机

locust -f test_locust.py --slave --master-host=主控机IP

3. 生成 HTML 测试报告

locust -f test_locust.py --host=https://目标网站.com --headless -u 100 -r 10 -t 5m --html=report.html

参数说明:--headless无界面模式,-u用户数,-r每秒启动数,-t压测时长

Locust 安全与避坑指南

1. 合法压测范围

仅能对自己拥有权限的网站/服务器进行压测,未经授权测试他人网站属于违法行为,需承担法律责任

2. 双系统资源监控

Windows:打开任务管理器,监控 CPU、内存、网络占用率

Kali:使用 tophtop 命令实时监控系统资源

3. 常见报错解决方案

① 报错 Address already in use:端口 8089 被占用,指定新端口启动:locust -f test.py --port=8090

② 报错 No module named locust:环境变量未配置,使用 python -m locust 启动