拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

Termux 安装与卸载 NetHunter:Rootless 部署排错指南

Termux 安装与卸载 NetHunter:Rootless 部署排错指南

1. NetHunter 到底是干什么的,值不值得花时间折腾

第一次听到 NetHunter 这个名字,十有八九是在找 "手机上的 Kali" 的时候。简单说,它就是 Kali Linux 的移动版本,把一套用于安全测试的命令行工具、图形桌面和硬件交互能力,搬到了 Android 设备上。官方由 OffSec 团队维护,早期主要围绕 Nexus 系列做适配,后来逐步覆盖到 OnePlus、Pixel 以及部分小米、三星机型。它能做的事情很明确:在授权前提下做网络资产梳理、无线环境评估、弱口令自查、抓包分析、远程主机管理等,本质上是把一台笔记本级别的测试环境压缩进你的口袋。适合谁?适合已经有一定 Linux 基础、手里有闲置安卓机、愿意折腾刷机和命令行的安全爱好者与运维人员。如果你连sudo和chmod都没碰过,直接跳进 NetHunter 会非常痛苦,建议先补一补 Termux 的基础操作再来。反过来说,如果你本来就在用 Termux 敲命令,那 NetHunter 值得你花一个周末认真装一遍。

我个人的判断是:NetHunter 最大的价值不在 "炫技",而在于随手可得。你在外面排查一个内网环境、给自家路由器做一次体检、或者临时需要一把瑞士军刀式的终端,掏出手机就能用,这个体验是笔记本给不了的。但它的门槛同样真实——设备兼容性、内核、root 权限、存储空间,任何一环没搞定,都会卡在半路。所以这篇内容我打算从 "它是什么" 讲到 "怎么装、怎么卸",把每个环节的坑都提前摊开给你看。

1.1 它和装在电脑上的 Kali Linux 有什么区别

很多人会把 NetHunter 直接理解成 "Kali 换了个壳",这个说法只对了一半。核心的软件仓库、包管理机制、大部分命令行工具,两者确实是一脉相承的,你在电脑上熟悉的apt、msfconsole、nmap这些命令,在 NetHunter 里几乎可以照搬。区别在于三个层面:第一是底层运行环境,电脑上的 Kali 是完整 Linux 内核直接跑在硬件上,而 NetHunter 是跑在 Android 的 Linux 内核之上,中间隔了一层 Android 的权限模型,这决定了它对硬件的调用方式完全不同;第二是硬件交互能力,NetHunter 专门针对手机的无线网卡、USB 控制器、蓝牙模块做了定制内核补丁,这才是它能做无线环境评估和 HID 外设模拟的底气,普通 Kali 插个普通网卡反而没这么方便;第三是形态的多样性,电脑版 Kali 就一种装法,NetHunter 却分好几种部署形态,装之前必须选清楚。

这里就引出下一个关键问题:形态选错了,后面全是无用功。

1.2 三种运行形态,选错等于白折腾

NetHunter 目前主流有三种落地方式,我把它整理成一张表,你对着自己的设备和需求选:

形态是否需要 root是否需要刷内核功能完整度适用人群
NetHunter 完整版需要需要刷定制内核最全,含无线与 HID 相关能力有刷机经验、有专用测试机的老玩家
NetHunter Lite需要不需要刷内核大部分命令行工具可用,硬件特性受限只想用工具、不想碰内核的用户
NetHunter Rootless不需要不需要仅命令行与图形桌面,无定制硬件能力新手、主力机用户、只想体验环境的人

我给你的建议很直接:如果你是第一次接触,先上 Rootless 版本。它通过 Termux 加 proot 的方式在用户空间里跑一个 Kali 根文件系统,不用 root、不用刷机、不影响保修,卸起来也干净。等你摸熟了工具链,再考虑要不要为完整版折腾内核。这篇文章的重点也会放在 Termux 相关的部署与卸载上,因为这也是被问得最多的一块——尤其是 "termux 如何卸载 nethunter" 这个高频问题,后面我会单独用一整节讲透。

2. 装之前必须搞清楚的条件清单

动手之前先别急着敲命令。我见过太多人一上来就pkg install,结果卡在存储不足或者版本不兼容上,白白浪费一下午。装 NetHunter 之前,有几项条件是硬性的,达不到就别硬上,换设备或者换方案才是明智选择。

2.1 设备与内核的兼容性门槛

先看存储。Rootless 版本本质上是往手机里塞一个完整的 Linux 根文件系统,解压后占用通常在两到四 GB 之间,安装过程中还需要额外的临时空间做解压和校验。所以我一般建议至少预留 8GB 可用空间,64GB 存储起步比较稳妥。如果你手机常年只剩 3GB,那还是先清理一遍再说。

再看系统版本。Rootless 依赖 Termux,而 Termux 对新版 Android 的存储访问策略(也就是大家常说的分区存储)有适配要求,Android 10 及以上版本在访问外部存储时会受限,需要把文件放在 Termux 自己的私有目录里,这一点在后面安装时会有具体体现。

最后是架构。绝大多数手机是 ARM64 架构,NetHunter 的根文件系统也是按这个架构分发的。如果你拿的是很老的 32 位设备,或者某些特殊芯片的机型,可能会遇到没有对应镜像的情况。动手前先在 Termux 里跑一条命令确认架构:

uname -m

输出aarch64就说明是 ARM64,符合大多数情况;如果输出armv7l或其他,就要去确认对应版本是否提供支持。这一步花十秒钟,能省掉后面一堆麻烦。

2.2 数据备份与设备解锁的正确姿势

如果你走的是完整版或 Lite 路线,需要 root 甚至刷内核,那数据备份是底线,不是可选项。解锁引导程序(bootloader)这个动作在绝大多数机型上会清空全部用户数据,照片、聊天记录、账号全没。我的习惯是:解锁之前,用手机自带的云备份或者数据线导出一份完整备份,确认能在另一台设备上还原之后再动手。

注意:解锁引导程序会清除数据,且部分厂商会因此影响保修状态。动手前务必确认自己接受这些后果,并优先使用闲置的备用机进行操作。

还有一点容易被忽略:解锁后设备的安全校验状态会发生变化,部分银行类、支付类应用会检测到这个状态而拒绝运行。所以别拿天天要用支付功能的主力机去折腾完整版,这是无数次踩坑换来的教训。

至于 Rootless 版本,虽然不用解锁、不用 root,但依然建议你在动手前把 Termux 更新到最新版,并确认手机没有开启那些会限制后台进程的省电策略,否则安装到一半进程被杀,前功尽弃。

3. Termux 环境下部署 NetHunter 的完整流程

这一节是实打实的操作。我以 Rootless 形态为主线,因为它的受众最广、风险最低、也最贴合 "termux 装 nethunter" 这个高频场景。整套流程的思路是:先用 Termux 搭建一个能运行 Linux 根文件系统的环境,再把 NetHunter 的根文件系统导入进去,最后通过启动脚本进入系统。理解了这个思路,你在遇到报错时就知道该往哪个方向排查。

3.1 基础环境与依赖准备

第一步是把 Termux 的基础包更新到最新。很多人跳过这步直接装,结果因为仓库索引过期导致依赖解析失败。打开 Termux,依次执行:

pkg update && pkg upgrade -y

过程中如果弹出配置文件冲突的提示,一路选默认(通常是回车或输入 Y)即可。更新完之后,安装后续要用到的几个基础工具:

pkg install wget proot git tar -y

这里解释一下每个工具的作用,方便你理解而不是死记:wget负责下载根文件系统,proot是核心,它用用户空间的方式模拟出一个 "伪 root" 环境,让 Linux 根文件系统能在不真正 root 手机的前提下运行,这是 Rootless 方案的灵魂;git用来拉取安装脚本;tar用来解压根文件系统。四个缺一不可。

装完之后,我习惯跑一条proot --version确认 proot 真的装上了,输出正常版本号再进行下一步。这个习惯帮我排除了好几次 "命令找不到" 的诡异问题。

3.2 分步安装与首次启动

环境就绪后,开始拉取安装脚本。Rootless 社区常用的是一套基于脚本的安装方式,脚本会自动完成下载、校验、解压、配置启动命令等动作。因为脚本来源和版本会随时间变化,我建议你直接去对应的开源仓库拿最新的安装脚本,而不是抄网上的固定链接——这是安全上的基本自觉,避免执行来源不明的脚本。

拿到脚本后,通过仓库说明执行安装。整个安装过程有几个关键节点,我按顺序讲清楚:

第一个节点是下载根文件系统。这一步的耗时完全取决于你的网络,几百 MB 到一两 GB 的镜像,网慢的话可能十几分钟。这个阶段千万不要切后台或锁屏,保持 Termux 前台运行,否则很可能因为进程被挂起而中断。

第二个节点是解压与校验。脚本会把压缩包解压到 Termux 的私有目录下,通常是一个类似~/nethunterfs的路径。如果这一步报 "No space left on device",说明存储不够,回去看第 2.1 节的建议。

第三个节点是配置启动命令。安装完成后,脚本一般会提供两个命令:nh和nethunter,前者是进入命令行,后者是启动图形桌面相关的服务。首次启动建议先运行nethunter -r之类的命令初始化 rootfs,再进入系统跑一次更新:

apt update && apt upgrade -y

进入系统后,你会发现提示符变成了类似root@localhost的形式,这就说明你已经站在了 NetHunter 的根文件系统里。到这里,安装就算完成了。你可以先跑几条简单命令验证,比如nmap --version、whoami,确认工具链可用、身份是 root(这是 proot 模拟出来的身份,不是真实系统 root)。

提示:图形桌面(KeX 或 VNC 方案)属于可选组件,命令行已经能满足大部分日常使用。图形桌面会额外吃内存和存储,低配机型谨慎开启。

4. 热词实操:Termux 中卸载 NetHunter 的正确做法

这部分专门回应 "termux 如何卸载 nethunter" 这个问题,因为问的人实在太多了。很多人装完发现不合适,或者想重新装一遍,却发现不知道从哪下手——毕竟它不是通过pkg install装的,自然也不能用pkg uninstall卸掉。核心思路只有一句话:找到它装在哪里,然后连文件带配置一起清掉。

4.1 标准卸载步骤

卸载前先退出 NetHunter 环境。如果你当前正处在nh启动的会话里,输入exit退出,回到普通的 Termux 命令提示符。这一点很重要,因为根文件系统在运行状态下部分文件是被占用的,直接删可能删不干净。

退出后,第一步是确认安装目录。用下面的命令看一眼你 Termux 的家目录:

ls ~

大多数情况下,你会看到nethunterfs这个目录,有时还会看到安装脚本留下的启动包装文件,比如nh、nethunter之类的可执行脚本,它们通常放在$PREFIX/bin或者家目录下。确认清楚这些路径,是你精准卸载的前提。

第二步是删除根文件系统。这一步会释放掉整块安装占用的空间:

rm -rf ~/nethunterfs

第三条命令是清理启动脚本包装。如果你之前把启动命令装到了系统路径,去对应位置删掉:

rm -f $PREFIX/bin/nethunter rm -f $PREFIX/bin/nh

这里用-f是为了在文件不存在时不报错,属于稳妥写法。第四步,如果你安装时顺手装了一堆只服务于 NetHunter 的依赖包,比如某些专用组件,也可以选择性卸载,但基础的proot、wget建议保留,其他 Termux 项目大概率还用得上。

4.2 残留文件清理与验证

删完之后别急着高兴,先做一次验证。第一步看空间是否释放:

du -sh ~

对比卸载前的占用,如果家目录体积明显下降,说明主体已经清掉。第二步检查是否还有残留的隐藏配置文件或缓存:

ls -la ~ | grep -i net ls -la ~/.local 2>/dev/null

如果还能找到带 net 关键字的目录,一并删掉。第三步,验证启动命令是否真的失效:

nh

如果提示command not found,说明包装脚本清理干净了;如果还能启动,说明启动脚本躺在别的地方,用which nh找出来再删。多个版本共存的用户最容易在这里翻车,因为后装的脚本覆盖了前一个,删了一个还剩一个。

注意:卸载过程中绝对不要用rm -rf去删整个家目录或者$PREFIX,那会把 Termux 本身也搞坏。一定要把删除路径精确到 NetHunter 相关的具体目录。

如果你追求 "干净重装",卸载完成后再清一次 Termux 的包缓存,能在重装时避免用旧缓存出问题:

pkg clean

整个卸载动作,熟练之后两三分钟就能搞定,核心就是找准目录、精确删除、事后验证这三板斧。

5. 常见问题与排查技巧实录

安装和卸载的路上,坑基本集中在几个固定位置。我把高频问题整理成一张速查表,你对着现象找原因,比一条条翻文档快得多。

5.1 问题速查表

现象可能原因处理思路
安装脚本执行报错 "Permission denied"脚本没有可执行权限用chmod +x 脚本名赋予权限后重试
解压时提示 "No space left on device"存储空间不足清理文件,至少预留 8GB,重试
启动后提示找不到 proot依赖未装或被误删重新pkg install proot
进入系统后命令提示符异常启动命令参数用错用-r参数重新初始化后进入
网络下载一直卡住网络波动或镜像源慢保持前台运行,换时间段或换网络重试
卸载后nh仍可启动启动脚本残留用which nh定位后删除
空间没释放只删了脚本,没删根文件系统确认nethunterfs目录已删除
手机频繁杀后台导致中断省电策略限制关闭 Termux 的省电限制,保持前台

这张表覆盖了八成的常见情况。剩下两成,通常和具体机型的系统策略有关,只能一事一议。

5.2 我踩过的坑与经验

第一个坑是锁屏中断。我第一次装的时候觉得下载太慢,就锁屏去干别的,回来一看进度条卡死了,脚本执行到一半的临时文件还占着空间。后来学乖了,重要安装过程一律前台盯着,顺手把手机充电线插上,避免中途掉电。这个教训适用于所有这类大文件下载的操作。

第二个坑是存储路径踩分区存储的坑。新版 Android 对应用访问外部存储限制很严,我一开始图省事想把根文件系统放到公共下载目录,结果脚本根本没有权限读写。后来老老实实放在 Termux 的私有目录里才顺畅。所以看到莫名其妙的 "读写失败",先想想是不是放错位置了。

第三个坑是重复安装导致命令混乱。我有段时间换了好几个脚本反复装,结果nh命令指向的是老版本的目录,启动起来的系统跟我想的不一样。排查半天才发现是$PREFIX/bin下的包装脚本被覆盖过多次。这件事之后,我养成了一个习惯:每次卸载后都用which和ls双验证,确认没有残留再装新版。

第四个经验是别一上来就开图形桌面。图形桌面看着爽,但在手机上通过 VNC 跑桌面,操作体验其实很别扭,还特别吃内存。我的做法是先用命令行熟悉工具链,真需要图形界面时再按需开启,日常绝大多数操作命令行都能搞定,还省电。

最后分享一个实用的小技巧:在正式装之前,先用一台不重要的备用机或者模拟环境把整个流程跑一遍,把每一步的报错和解决方式记下来。等流程烂熟于心,再回到自己的主力设备上操作,心里就有底了。折腾这类工具,稳比快重要,慢一步想清楚,往往比急吼吼敲命令省时间。这套思路我在后面装任何环境都沿用,屡试不爽。

返回列表