☰
katoolin 使用指南:在 Ubuntu 上自动安装 Kali Linux 渗透测试工具集
2026/10/15 1:56:00 网站建设 项目流程
  • CLI
  • 开发工具

【免费下载链接】katoolin

Automatically install all Kali linux tools

项目地址:https://gitcode.com/gh_mirrors/ka/katoolin
点击查看免费下载

本文以仓库根目录的 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:按菜单选择安装单个工具或一键安装全部工具。

仓库内存在两套实现形态,成文时都需要了解:

  1. 单文件版 katoolin.py:一个约 1300 行的巨型脚本,启动横幅显示V2.0与331 Tools,README 中描述的菜单(输入数字装工具、输入0装全部、back、gohome)对应这一版本;
  2. 模块化重构版 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

各步骤的作用与注意事项:

  1. sudo su:切换到 root 用户。由于脚本内部大量直接调用apt-get、修改/etc/apt/sources.list,且自带 root 校验,全程以 root 执行最顺畅;
  2. git clone ... && cp katoolin/katoolin.py /usr/bin/katoolin:克隆仓库后,把单文件脚本复制到/usr/bin下并命名为katoolin,这样任意目录都能以命令方式调用。这是 README 描述的标准安装方式;
  3. chmod +x /usr/bin/katoolin:赋予可执行权限。由于脚本首行是#!/usr/bin/python(katoolin.py),直接执行依赖系统的python命令指向 Python 2;
  4. 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 字典逐项统计):

编号分类名称工具数量代表工具举例
1Information Gathering(信息收集)55nmap、theHarvester、dnsenum、Recon-ng、Maltego Teeth
2Vulnerability Analysis(漏洞分析)31sqlmap、Lynis、OpenVAS 系列、BBQSQL
3Wireless Attacks(无线攻击)31aircrack-ng、Reaver、Kismet、wifite、PixieWPS
4Web Applications(Web 应用)39Burp Suite、OWASP ZAP、w3af、WPScan、dirb
5Sniffing & Spoofing(嗅探与欺骗)32Wireshark、mitmproxy、Responder、SSLstrip
6Maintaining Access(维持访问)17PowerSploit、Nishang、Weevely、Cymothoa
7Reporting Tools(报告工具)9Dradis、KeepNote、MagicTree、pipal
8Exploitation Tools(漏洞利用)17Armitage、SET、BeEF、Backdoor Factory
9Forensics Tools(取证工具)20Volatility、Foremost、binwalk、peepdf
10Stress Testing(压力测试)13SlowHTTPTest、t50、mdk3、THC-SSL-DOS
11Password Attacks(密码攻击)33John the Ripper、Hydra、crunch、hash-identifier
12Reverse Engineering(逆向工程)9apktool、dex2jar、edb-debugger、YARA
13Hardware Hacking(硬件黑客)6Arduino、android-sdk、Sakis3G
14Extra(扩展)13kali-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

项目地址:https://gitcode.com/gh_mirrors/ka/katoolin
点击查看免费下载
上一篇:Ladda 项目常见问题解决方案
下一篇:如何快速解决 Elasticsearch-Dump 常见问题:终极排错指南 🚀

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询