ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kali Linux 安装 OneForAll 完整排障复盘

Kali Linux 安装 OneForAll 完整排障复盘 环境Kali 2023.3VMware· Python 3.11.4 · root 用户 日期2026-10-03 结果✅python oneforall.py --help正常运行安装完成很多网安小白在初学时使用kali安装OneForAll可能都会出现这样一个问题明明我用了国内的镜像git clone https://gitee.com/shmilylty/OneForAll.git或者在科学上网的条件下用了github的git clone https://github.com/shmilylty/OneForAll.git都会出现报错类似于接下来我来阐述一下我的解决办法一、问题全景这次安装前后踩了5 个坑它们是层层叠加的连锁问题#现象根因解法1apt update报NO_PUBKEY ED65462ECBD5E4C5源被禁用Kali 存档签名密钥过期/缺失重新导入官方密钥2Package python3.11-venv has no installation candidate系统 Python 3.11 已从 Kali 滚动仓库下架现仅保留 3.13 包放弃 venv直接升级系统 pip3Can not execute setup.py since setuptools is not available in the build environmentpip 23.2 太旧走旧式构建路径不会自动往构建环境装 setuptoolspip install --upgrade pip升级到 26.x4bs40.0.1构建报错bs4是臭名昭著的占位坑包不是真正的 BeautifulSoup换成beautifulsoup45ImportError: cannot import name sre_parse from rerequirements 钉死exrex0.10.3不兼容 Python 3.11re.sre_parse已被移除pip install -U exrex关键认知报错提示装 setuptools是误导——根源是 pip 本身太旧报错提示装 python3.11-venv也是误导——根源是系统太老、包已下架。看报错要找根源不要表面照做。二、正确安装步骤整理版步骤 1修复 apt 源签名密钥如报 NO_PUBKEY 才需要wget -q -O /etc/apt/trusted.gpg.d/kali-archive-keyring.asc https://archive.kali.org/archive-key.asc apt update验证apt update不再出现 GPG / NO_PUBKEY 报错。步骤 2升级 pip 及构建工具核心步骤pip install --upgrade pip setuptools wheel fire -i https://mirrors.aliyun.com/pypi/simple/ hash -r pip --version # 确认显示 pip 26.x说明中间红色的ERROR: pips dependency resolver ...是冲突警告只要最后一行出现Successfully installed pip-xx setuptools-xx wheel-xx fire-xx就是成功。Cant uninstall pip属正常现象新 pip 会接管旧的。若报externally-managed-environment在命令末尾加--break-system-packages。步骤 3修正 requirements.txt 中的坑包cd ~/OneForAll sed -i s/^bs40.0.1/beautifulsoup4/ requirements.txt步骤 4安装依赖python3 -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/看到Successfully installed ...一大串包名即成功。步骤 5修复 exrex 兼容性pip install --upgrade exrex -i https://mirrors.aliyun.com/pypi/simple/步骤 6验证python oneforall.py --help能打印出完整的参数说明--target、--targets、COMMANDS 等即为安装成功。三、日常使用速查# 单目标收集 python oneforall.py --target example.com run ​ # 批量目标文件一行一个域名 python oneforall.py --targets targets.txt run ​ # 只导出存活子域csv 格式 python oneforall.py --target example.com run --alive --fmt csv ​ # 查看版本 python oneforall.py version结果目录~/OneForAll/results/目标/含 csv / json 等格式alive字段为 True 的即存活子域运行中如报No module named xxx单独pip install xxx补装即可四、踩坑经验总结venv 不是必需品。当 venv 装不上如系统 Python 版本已从仓库下架时升级系统 pip 后直接安装是可行替代方案代价是环境不够隔离Kali 个人渗透机可以接受。旧版 pip 是构建报错的万恶之源。setup.py构建、setuptools is not available、Preparing metadata (setup.py) ... error这类错误第一步先pip install --upgrade pip能省掉大量弯路。requirements.txt 里钉死的旧版本包是 Python 升级后的重灾区如 exrex 0.10.3 vs Python 3.11。遇到ImportError类报错优先尝试升级该包而不是改代码。pip 安装时看最后一行Successfully installed才算成功中间的红色 resolver ERROR 多数只是警告。apt 报 NO_PUBKEY 先修密钥再谈别的密钥失效时源被整体禁用装任何包都会失败。国内网络环境全程挂阿里 PyPI 镜像-i https://mirrors.aliyun.com/pypi/simple/避免超时。
返回列表