- CLI
- 开发工具
【免费下载链接】katoolin
Automatically install all Kali linux tools
本文以仓库根目录的 README.md 为核心骨架,结合 katoolin.py(单文件版)与 core/(模块化重构版)的源码实现,完整讲解 katoolin 的安装、交互式菜单操作、Kali 软件源管理与 14 大工具分类。读完本文,你将能在 Ubuntu 类系统上快速部署 katoolin,通过菜单编号安装单个或全部 Kali Linux 工具,并理解其底层对
/etc/apt/sources.list的增删原理,避免因软件源残留导致的系统更新故障。
项目概览:一个命令解决"在非 Kali 系统上装 Kali 工具"的痛点
katoolin 是一个 Python 编写的命令行工具,其定位在 README 中只有一句话:Automatically install all Kali linux tools(自动安装全部 Kali Linux 工具)。它解决的核心问题非常具体:当你在 Ubuntu 等非 Kali 发行版上做渗透测试研究时,逐个apt-get install数百个工具既繁琐又容易出错,katoolin 把这件事自动化了。
README 列出的三大核心功能(Features)为:
- Add Kali linux repositories:把 Kali 官方软件源加入当前系统;
- Remove kali linux repositories:从当前系统移除 Kali 软件源;
- Install Kali linux tools:按菜单选择安装单个工具或一键安装全部工具。
仓库内存在两套实现形态,成文时都需要了解:
- 单文件版 katoolin.py:一个约 1300 行的巨型脚本,启动横幅显示
V2.0与331 Tools,README 中描述的菜单(输入数字装工具、输入0装全部、back、gohome)对应这一版本; - 模块化重构版 core/gear.py + core/categories.py:将主程序、交互逻辑与工具分类数据分离,启动横幅版本号为
v1.3b,工具总数由num_tools()从分类字典动态统计。
运行环境与权限要求
README 明确给出了两条环境要求:
- Python 2.7:脚本使用
raw_input()、print语句等 Python 2 专属语法(见 katoolin.py),在 Python 3 环境下无法直接运行; - 操作系统:官方在 Ubuntu 上完成测试,其他发行版未做保证。
除上述两点外,从源码还可以确认第三条隐含前提——root 权限。katoolin.py 开头直接做了 UID 检查:
if os.getuid() != 0: print "Sorry. This script requires sudo privledges" sys.exit()非 root 用户运行时脚本会立即退出,并提示需要 sudo 权限。模块化版的add_repository()在写入软件源失败时同样打印E: Please run as root并退出(core/gear.py),因此整个操作流程都建议在 root 会话下进行。
安装 katoolin:从克隆到可执行的四步
README 给出了标准的四步安装流程(以下 clone 地址使用本仓库镜像):
sudo su git clone https://gitcode.com/gh_mirrors/ka/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin chmod +x /usr/bin/katoolin sudo katoolin各步骤的作用与注意事项:
sudo su:切换到 root 用户。由于脚本内部大量直接调用apt-get、修改/etc/apt/sources.list,且自带 root 校验,全程以 root 执行最顺畅;git clone ... && cp katoolin/katoolin.py /usr/bin/katoolin:克隆仓库后,把单文件脚本复制到/usr/bin下并命名为katoolin,这样任意目录都能以命令方式调用。这是 README 描述的标准安装方式;chmod +x /usr/bin/katoolin:赋予可执行权限。由于脚本首行是#!/usr/bin/python(katoolin.py),直接执行依赖系统的python命令指向 Python 2;sudo katoolin:以 root 权限启动交互式界面。
如果系统默认python已是 Python 3(如较新的 Ubuntu 发行版),需要先确认安装了 Python 2.7,或把脚本 shebang 改为#!/usr/bin/python2后重新执行第 3 步。
交互式使用:主菜单、工具编号与导航命令
主菜单的五个选项
启动后首先进入主菜单,katoolin.py 中定义如下:
1) Add Kali repositories & Update 2) View Categories 3) Install classicmenu indicator 4) Install Kali menu 5) Help- 输入
1:进入软件源管理子菜单(添加、更新、移除、查看sources.list); - 输入
2:进入 14 大工具分类视图; - 输入
3:安装 classicmenu indicator(经典 GNOME 风格菜单指示器,README 附带了功能说明,见下文); - 输入
4:安装 Kali menu(Kali 菜单); - 输入
5:查看命令帮助。
核心操作命令(README Usage 完整版)
README 的 Usage 章节定义了这套交互规则,是日常使用的核心:
- 输入工具对应的数字编号:安装该工具。进入某个分类后,每个工具前都有一个编号,输入编号即执行
apt-get install <工具名>; - 输入
0:安装全部 Kali Linux 工具。在主分类视图(2)下输入0,会执行一条覆盖全部工具的超长apt-get install命令(见 katoolin.py); back:返回上一级菜单;gohome:返回主菜单;- 安装 armitage 会连带安装 metasploit:README 特别提示了这一点。源码中 armitage 通过
apt-get install armitage安装(katoolin.py),metasploit 是其 apt 依赖,会自动一并装好,无需手动处理。
back与gohome在源码中本质上都指向inicio1()(主菜单函数),只是语义上区分为"返回上级"与"回到主页"。此外,模块化版 core/gear.py 的命令集略有扩展:
: load=<category> Load category : search=<tool> Find tool : clear Clean screen : 1, show Show categories : 2, update Update katoolin (git pull) : 3, help Show help : 4, exit Exit katoolin其中search=<工具名>可以在所有分类中检索某个工具出现在哪些分类(core/gear.py),这在不确定工具归类时很实用;分类内部的快捷键则包括输入编号安装、99安装该分类全部工具、back返回、clear清屏、show重列工具清单。
菜单导航背后的循环结构
从源码结构看,菜单系统由三层嵌套的while True循环构成(katoolin.py):外层inicio1()是主菜单,中层inicio()是分类选择,内层是各分类的工具清单。每个循环都拦截back与gohome两个关键字来跳回对应层级,输入未定义的编号则打印红色提示Sorry, that was an invalid command!(katoolin.py)。理解这一点有助于排查"按了某个键没反应"的问题——多半是输入了非法编号。
仓库管理:添加、更新与移除 Kali 软件源
主菜单选项1进入软件源管理子菜单,源码中(katoolin.py)定义:
1) Add kali linux repositories 2) Update 3) Remove all kali linux repositories 4) View the contents of sources.list file添加 Kali 软件源(选项 1)
源码实现分两步(katoolin.py):
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED444FF07D8D0BF6 echo '# Kali linux repositories | Added by Katoolin deb http://http.kali.org/kali kali-rolling main contrib non-free' >> /etc/apt/sources.list第一步通过apt-key从keyserver.ubuntu.com导入 Kali 源的签名密钥ED444FF07D8D0BF6;第二步向/etc/apt/sources.list追加带# Kali linux repositories | Added by Katoolin注释标记的kali-rolling软件源行(包含main contrib non-free三个组件)。
更新软件包索引(选项 2)
apt-get update -m-m(--ignore-missing)让apt-get update在部分源不可达时忽略错误继续执行,避免因单个源故障中断整次更新。
移除全部 Kali 软件源(选项 3)
这是与"添加"对称的清理操作(katoolin.py)。源码逻辑为:打开/etc/apt/sources.list,把添加时写入的两行(注释行与deb行)逐行替换为空,再将文件重写回原路径。为避免残留半行内容,脚本先删除原文件再用w+模式重建。执行成功后输出红色提示All kali linux repositories have been deleted !。
注意:该实现只删除自己添加时写入的那两行精确文本,手动加入的其他 Kali 源行不会被处理。
查看 sources.list 内容(选项 4)
直接读取并打印/etc/apt/sources.list全文(katoolin.py),用于确认当前源状态,方便在更新系统前核对是否还有 Kali 源残留。
模块化版本的差异:独立的 katoolin.list 文件
重构版 core/gear.py 采用了更干净的做法:把 Kali 源写入独立的/etc/apt/sources.list.d/katoolin.list,并在其中附带注释说明deb-src行的启用方式:
#Katoolin deb http://http.kali.org/kali kali-rolling main contrib non-free # For source package access, uncomment the following line # deb-src http://http.kali.org/kali kali-rolling main contrib non-free对应的delete_repository()直接删除该文件即可完成清理(core/gear.py)。密钥导入改用pgp.mit.edu服务器,并通过-o Dir::Etc::sourcelist=...参数只对 katoolin 自己的源文件执行apt-get update,不影响系统其他源(core/gear.py)。
关键警告:更新系统前务必先移除 Kali 软件源
README 的 Warning 章节用加粗语气强调了这一点,源码启动横幅中也会用红色文字打印同样的提示(katoolin.py):
Before updating your system , please remove all Kali-linux repositories to avoid any kind of problem .
原因很实际:Kali 滚动更新仓库与 Ubuntu 的稳定仓库存在依赖版本冲突,两者混用可能导致apt解析出互相冲突的包版本,进而破坏系统。正确操作顺序是:先用选项1子菜单中的3移除 Kali 源(或删除katoolin.list),再执行系统级apt-get upgrade。
14 大工具分类全景
主菜单输入2进入分类视图,katoolin.py 列出了 14 个分类与编号;工具与分类的映射数据保存在 core/categories.py 的categories字典中(单文件版则内嵌在各分类的while循环里)。下表为各分类的编号、名称与工具数量(数量按 core/categories.py 字典逐项统计):
| 编号 | 分类名称 | 工具数量 | 代表工具举例 |
|---|---|---|---|
| 1 | Information Gathering(信息收集) | 55 | nmap、theHarvester、dnsenum、Recon-ng、Maltego Teeth |
| 2 | Vulnerability Analysis(漏洞分析) | 31 | sqlmap、Lynis、OpenVAS 系列、BBQSQL |
| 3 | Wireless Attacks(无线攻击) | 31 | aircrack-ng、Reaver、Kismet、wifite、PixieWPS |
| 4 | Web Applications(Web 应用) | 39 | Burp Suite、OWASP ZAP、w3af、WPScan、dirb |
| 5 | Sniffing & Spoofing(嗅探与欺骗) | 32 | Wireshark、mitmproxy、Responder、SSLstrip |
| 6 | Maintaining Access(维持访问) | 17 | PowerSploit、Nishang、Weevely、Cymothoa |
| 7 | Reporting Tools(报告工具) | 9 | Dradis、KeepNote、MagicTree、pipal |
| 8 | Exploitation Tools(漏洞利用) | 17 | Armitage、SET、BeEF、Backdoor Factory |
| 9 | Forensics Tools(取证工具) | 20 | Volatility、Foremost、binwalk、peepdf |
| 10 | Stress Testing(压力测试) | 13 | SlowHTTPTest、t50、mdk3、THC-SSL-DOS |
| 11 | Password Attacks(密码攻击) | 33 | John the Ripper、Hydra、crunch、hash-identifier |
| 12 | Reverse Engineering(逆向工程) | 9 | apktool、dex2jar、edb-debugger、YARA |
| 13 | Hardware Hacking(硬件黑客) | 6 | Arduino、android-sdk、Sakis3G |
| 14 | Extra(扩展) | 13 | kali-linux-full、squid3 等元包 |
合计约325 个工具。值得一提的是,第 14 类Extra中的kali-linux、kali-linux-full、kali-linux-all、kali-linux-top10等是 Kali 的元包(meta-package),安装它们会拉取整个工具集合(见 core/categories.py)。
在每个分类内部:
- 输入工具编号安装单个工具,源码执行
apt-get install <工具名>(如 katoolin.py 的 acccheck); - 输入
0安装该分类全部工具(单文件版),模块化版对应输入99,执行apt install -y批量安装(core/gear.py); - 少数工具不走 apt 仓库:
commix、WiFresti、bing-ip2hosts等通过git clone或wget单独安装(如 katoolin.py); - 部分工具在源中不可用,脚本会直接提示,如
ntop is unavailable、Webshag is unavailable、dff is unavailable、Regripper is unavailable、Sqldict is unavailable(katoolin.py 等位置)。
附加功能:经典菜单与 Kali 菜单
主菜单的选项3与4是两个桌面环境辅助功能:
- classicmenu indicator(选项 3):为 Ubuntu Unity 桌面顶栏提供一个经典 GNOME 风格的应用程序菜单指示器。源码(katoolin.py)会先添加
ppa:diesch/testing仓库并更新,再apt-get install classicmenu-indicator; - Kali menu(选项 4):直接执行
apt-get install kali-menu安装 Kali 的菜单包(katoolin.py),便于在桌面上按 Kali 习惯组织渗透工具入口。
更新与维护
模块化版内置了自我更新命令(core/gear.py):
os.system('git pull') print yellow + "W: Please restart katoolin" + reset即在安装目录(克隆仓库的位置)执行git pull拉取最新代码,并提示重启 katoolin 生效。仓库根目录的 Changelog.txt 记录了两个历史修复:2015-08-26 修复了安装脚本中大写字符的问题;2016-04-19 从菜单移除了 Inguma 以绕过安装问题(由 Jayson Grace 提交)。如果你的菜单里看不到 Inguma,属于有意为之,而不是程序故障。
注意事项与常见问题
- 仅限授权环境使用:本工具安装的是渗透测试与安全研究类软件,请仅在你有权限测试的系统上使用;
- Python 2 依赖:单文件版依赖
raw_input与 Python 2 语法,安装前先确认环境;若后续发行版默认无 Python 2,需自行提供 Python 2.7 解释器; - 软件源冲突:任何系统级
apt-get upgrade之前,务必先移除 Kali 软件源(主菜单1→3,或删除/etc/apt/sources.list.d/katoolin.list),这是 README 与启动横幅反复强调的警告; - 工具归属以仓库数据为准:不同版本(单文件版与模块化版)对少数工具的归属或名称略有差异(如模块化版新增了
gobuster、wifiphisher、hostapd-wpe等),以 core/categories.py 为准; - 深入扩展:若想修改分类或增删工具,单文件版需编辑 katoolin.py 中对应分类的菜单分支,模块化版则只需维护 core/categories.py 的
categories字典,交互逻辑(core/gear.py)会自动适配。
至此,你已掌握 katoolin 从安装、交互操作到软件源管理的完整链路:先以 root 安装脚本,进入主菜单后通过编号按需安装工具,在更新系统前用其自带的移除功能清理 Kali 源,即可安全地在 Ubuntu 上复用整套 Kali 渗透测试工具生态。
- CLI
- 开发工具
【免费下载链接】katoolin
Automatically install all Kali linux tools
相关推荐
终极指南:如何快速使用katoolin一键安装所有Kali Linux渗透测试工具
终极指南:如何快速使用katoolin一键安装所有Kali Linux渗透测试工具 katoolin是一款强大的自动化工具,能够帮助用户快速安装所有Kali L
CLI开发工具5分钟搭起家庭影院:OpenPHT在树莓派与PC上的极速安装教程
5分钟搭起家庭影院:OpenPHT在树莓派与PC上的极速安装教程 OpenPHT 是一款完全免费、开源的家庭影院媒体中心软件,它是经典 Plex Home Th
Kali Linux工具一键安装神器:katoolin完整使用指南
想要在Ubuntu系统上体验Kali Linux的强大安全测试工具吗?katoolin就是你的终极解决方案。这个智能工具能够自动安装所有Kali Linux工具
CLI开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考