Basic-Tools
Environment: Kali Ubuntu Windows
摘要: 本文详细分析当下工具集最优管理链路, 从原理到实战部署, 0到1完整复现
1.0 uv管理Python
1.1 为什么选择uv?
- 极速: Rust内核, 比传统pip快10倍以上
- 多版本切换平滑
- 强隔离性, 项目环境独立
- 兼容性: 完全兼容pip
- 跨平台: Linux / macOS / Windows
1.2 uv安装
备注: 以下操作演示均在Linux-Kali
1 | # On macOS and Linux. |
1 | # On Windows. |
网络问题可以考虑代理或二进制安装方式
1 | # 验证是否正确安装 |

1.3 uv安装python
1 | # 查看可用版本 |
1.4 uv中的Python管理
1 | # Python解释器本体安装位置 |

Python解释器本体默认在该目录
1 | # 二进制软连接位置 |

以上uv主程序和uvx(uv的软连接) 及Python软连接(指向实际解释器位置)
1.5 uv指令集
1 | # 基础python模块 |
1.6 uv实战
案例1:
基于uv部署OneForAll
备注: 该项目非uv构建, 采用
requirements.txt文件依赖
01 项目下载
1 | git clone https://gitee.com/shmilylty/OneForAll.git |
OneForAll 官方推荐 ≤ 3.9, 依赖库
aiodns在高版本有兼容问题
02 Python版本指定
1 | # 切换到 OneForAll 工具目录 /home/kali/tools/OneForAll |
此时项目目录下会生成文件
.python-version

03 虚拟环境创建
1 | # 虚拟环境创建 |
04 依赖导入
1 | uv pip install -r requirements.txt |

05 项目运行
1 | uv run oneforall.py --target www.xxx.com run |
注意: uv运行项目激活虚拟环境非必须
uv run会自动化查找当前目录下.venv并使用解释器, 无需手动激活
案例2:
基于uv部署dirsearch [源码方案]
最新源码包含
pyproject.toml可实现快速部署
01 Python版本指定
1 | uv python pin 3.14 |

02 项目构建
1 | uv sync |
一行命令即可构建整个项目
03 项目运行
1 | uv run dirsearch.py -u http://xxx -e* |
案例3:
手动项目实战
流程:
本地新建项目
test写入main.py![]()
绑定Python版本
1
uv python pin 3.9
![]()
指定python版本后自动生成
.python-version项目初始化
1
uv init
![]()
生成如上文件(选中部分)
创建虚拟环境
1
uv venv
运行main.py
1
uv run main.py
![]()
验证代码分发流程
- 删除
.venv内容 → 获得源码 - 对获取的源码执行
uv sync→ 自动创建虚拟环境和依赖构建(基于pyproject.tomluv.lock)
- 删除
补充:
- 虚拟环境
- 激活:
source .venv/bin/activate - 关闭:
deactivate - 运行程序:
python xxx.py
- 激活:
2.0 Docker 容器管理
2.1 为什么选择Docker?
- 环境隔离
- 轻量
- 快速
- 可移植性
2.2 Docker 部署
备注: 以下操作演示均在Linux-Kali, 与Ubuntu部署有细微差距
01 安装依赖
1 | sudo apt update |
02 创建密钥目录
1 | sudo install -m 0755 -d /etc/apt/keyrings |
03 下载GPG密钥
1 | curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /tmp/docker.gpg |
04 转换密钥格式
1 | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg /tmp/docker.gpg |
05 设置密钥权限
1 | sudo chmod a+r /etc/apt/keyrings/docker.gpg |
06 临时文件清理
1 | rm -f /tmp/docker.gpg |
07 写入Docker镜像源
1 | echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list |
08 验证源
1 | cat /etc/apt/sources.list.d/docker.list |
09 刷新apt缓存
1 | sudo apt update |
10 安装Docker
1 | sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
11 启动Docker
1 | sudo systemctl enable docker # 开机自启 |
12 免sudo配置
1 | sudo usermod -aG docker $USER |
13 配置镜像加速 & 日志限制
1 | sudo mkdir -p /etc/docker |
14 重启生效
1 | sudo systemctl daemon-reload # 重载 systemd 配置 |
15 验证
1 | docker version # 查看 Client + Server 版本信息 |
2.3 关键配置文件详解
/etc/docker/daemon.json

1 | { |
1 | docker info # 查看生效配置 |
2.4 Docker使用
1.0 镜像管理
1 | docker pull 镜像作者/镜像名:版本 # 镜像下载 |
2.0 容器管理
容器查看
1
2docker ps # 查看运行中的容器
docker ps -a # 查看所有容器容器创建
docker run-d 后台运行
-p 80:80 端口映射(宿主机:容器端口)
–name xx (容器名)
案例
1
docker run -d -p 80:80 --name mydvwa vulnerables/web-dvwa
vulnerables/web-dvwa 镜像名 | 也可使用镜像ID
容器停止
1
docker stop 容器ID
容器启动
1
docker start 容器ID
容器删除
1
2docker rm 容器ID
docker rm -f 容器ID # 强制删除进入容器
docker exec-i 交互式
-t 终端分配
/bin/bash (/bin/bash 解释器启动)
案例
1
docker exec -it f6e351f39c79 /bin/bash
容器日志查看
1
2docker logs 容器ID
docker logs -f 容器ID # 实时跟踪多容器启动
docker-compose up- -d 根据docker compose.yml启动整套环境
- docker compose down关闭并移除整套环境

































































































