Cwlal-krs/raspberry-pi-zero-2w-network-tool

GitHub: Cwlal-krs/raspberry-pi-zero-2w-network-tool

基于树莓派Zero 2W的便携式网络扫描工具,可通过蓝牙离线访问并运行nmap和aircrack-ng进行网络探测与WiFi安全测试。

Stars: 0 | Forks: 0

# 🛠️ 使用 Raspberry Pi Zero 2W 和 AI 辅助构建便携式网络工具 ## 📖 简介 当我拿到 **Raspberry Pi Zero 2W** 时,我开始思考用它来做什么。最終想到的创意是构建一个 **便携式网络测试工具**——体积小到可以放在背包里,由移动电源供电,无需互联网连接即可通过蓝牙从任何地方访问。 有趣的转折点是:这个项目几乎完全是 **在 AI 辅助下** 完成的。我使用了 ChatGPT、Grok 和 Claude 作为团队。我提供想法、描述问题、引导方向——AI 编写解决方案。 这篇文章既是 **技术指南**,也是关于使用 AI 工具开发项目的真实记录。 ## 🧰 硬件 | 组件 | 详情 | |---|---| | **开发板** | Raspberry Pi Zero 2W | | **操作系统** | Raspberry Pi OS Lite (64位) | | **电源** | 移动电源 (5V/2A) | | **网络适配器** | USB WiFi 适配器(支持监听模式) | | **连接方式** | 蓝牙(离线访问)+ WiFi SSH | ## ⚙️ 设置过程 ### 1. 首次启动和蓝牙连接 Pi Zero 2W 内置蓝牙和 WiFi,这使得 **无头设置** 变得更加容易。我通过 **蓝牙串口** 建立了第一个连接——无需显示器,无需键盘。 我从 AI 那里获得了通过 `bluetoothctl` 配对和启用串口服务的逐步命令: ``` sudo systemctl enable bluetooth sudo systemctl start bluetooth bluetoothctl ``` 在 `bluetoothctl` 中: ``` agent on default-agent discoverable on pairable on ``` 我使用手机上的蓝牙终端应用连接,并从那里运行所有初始命令。 ### 2. 自动蓝牙服务——离线访问 这是项目 **最关键的部分**。目标是:启动后,Pi 应该在约 2 分钟内自动设置蓝牙 RFCOMM 连接,这样我就可以 **在任何地方访问它**——只需在蓝牙范围内,无需互联网。 这意味着: - 🏠 在家里、户外、网络自由的环境里——**没有区别** - 🔋 有移动电源,Pi 就能运行;有蓝牙,就能访问 - 🚫 无需处于同一 WiFi 网络 **设置 RFCOMM 服务:** ``` sudo nano /etc/systemd/system/rfcomm.service ``` 服务文件内容: ``` [Unit] Description=RFCOMM Bluetooth Serial Service After=bluetooth.target Requires=bluetooth.target [Service] ExecStartPre=/bin/sleep 10 ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 -a pi Restart=always RestartSec=5 [Install] WantedBy=multi-user.target ``` **启用并启动服务:** ``` sudo systemctl daemon-reload sudo systemctl enable rfcomm.service sudo systemctl start rfcomm.service ``` **结果:** 启动后约 2 分钟,Pi 可以通过蓝牙 RFCOMM 访问。使用手机上的蓝牙终端应用(如 *Serial Bluetooth Terminal*),我可以获得 **完整的终端访问权限**——无需互联网,无需共享网络。 ### 3. WiFi 适配器和 SSH 设置 建立蓝牙访问后,我连接了 USB WiFi 适配器——这个适配器将处理实际的网络操作。关键要求是支持 **监听模式**。 检查适配器是否被识别: ``` lsusb iwconfig ``` 永久启用 SSH: ``` sudo systemctl enable ssh sudo systemctl start ssh ``` 通过 SSH 从笔记本电脑连接: ``` ssh pi@ ``` ### 4. 安装工具 ``` sudo apt update && sudo apt upgrade -y sudo apt install -y nmap aircrack-ng net-tools wireless-tools ``` | 工具 | 用途 | |---|---| | `nmap` | 扫描网络上的设备,检测开放端口 | | `aircrack-ng` | WiFi 数据包分析,解除认证测试 | | `net-tools` / `wireless-tools` | 网络接口管理 | ### 5. 切换到监听模式 监听模式是数据包捕获和解除认证测试所必需的: ``` sudo ip link set wlan1 down sudo iw dev wlan1 set type monitor sudo ip link set wlan1 up ``` 验证: ``` iwconfig wlan1 # 模式:Monitor ``` ### 6. 网络扫描 ``` # 快速扫描 — 查找网络上的所有设备 sudo nmap -sn 192.168.1.0/24 # 对特定设备进行详细端口扫描 sudo nmap -sV 192.168.1.X ``` ### 7. 解除认证测试(*仅在您自己的网络上*) 解除认证攻击会发送 **802.11 解除认证帧** 来断开客户端与 WiFi 网络的连接。这用于测试您自己网络设置的健壮性。 ``` # 列出附近的网络 sudo airodump-ng wlan1 # 定位特定网络 sudo airodump-ng --bssid -c wlan1 # 发送 deauth 帧(仅限您自己的网络!) sudo aireplay-ng --deauth 10 -a wlan1 ``` ## 🐛 遇到的问题和解决方案 ### ❌ 问题 1:蓝牙服务无法启动 `bluetoothctl` 运行了但看不到设备。当我向 AI 描述情况时,它识别出了 `bluetooth.service` 和 `bluetooth.target` 之间的 **依赖问题**,并建议: ``` sudo systemctl daemon-reexec sudo systemctl restart bluetooth ``` ### ❌ 问题 2:WiFi 适配器不支持监听模式 第一个适配器在 `iw dev wlan1 set type monitor` 时报错。AI 解释说并非所有 USB WiFi 适配器都支持监听模式,并推荐了 **Realtek RTL8188** 或 **Atheros AR9271** 芯片组。 ### ❌ 问题 3:服务在重启后没有持久化 SSH 和 RFCOMM 每次启动后都需要手动启动。解决方法就是 `systemctl enable`——事后看来很明显,但在设置过程中很容易忽略。 ## 🤖 与 AI 合作 我在整个项目中使用了三种不同的 AI 工具: | AI | 用途 | |---|---| | **ChatGPT** | 常规安装步骤和命令解释 | | **Grok** | 调试错误消息,解读系统日志 | | **Claude** | 理解服务交互,掌握 `systemd` 架构 | 我从未将它们中的任何一个用作"帮我写这个"的机器。我描述我的问题,应用建议的解决方案,然后报告结果。这种来回交流有时会进行 **3-4 轮**。 最有价值的是:AI 还会解释 **为什么** 某件事有效,而不仅仅是 **做什么**。我不只是复制粘贴——我在过程中实际上学到了东西。 ## ✅ 结论 **Raspberry Pi Zero 2W + 移动电源** 组合是便携式网络工具的完美基础。体积小、安静、功耗低。 **自动蓝牙服务** 是改变游戏规则的关键。它消除了最大的限制——需要互联网连接或共享 WiFi 网络——并使设备在真正意义上变得便携。 AI 辅助大大加快了构建速度。但更重要的是,每次出现问题时,我都会尝试理解 **根本原因**,而不仅仅是修复方法。这就是区别所在。 **下一步:** 一个简单的 Web 界面——能够从浏览器触发网络扫描而不是从终端,会让整个设置更加简洁。 ## 📚 资源 - [Raspberry Pi 官方文档](https://www.raspberrypi.com/documentation/) - [Aircrack-ng 文档](https://www.aircrack-ng.org/documentation.html) - [Nmap 参考指南](https://nmap.org/book/man.html) *本文基于我的个人经验。所有测试都在我自己的网络中在受控环境下进行。*
标签:AI辅助开发, ChatGPT, headless, PE 加载器, Promptflow, Raspberry Pi OS, Raspberry Pi Zero 2W, RFCOMM, SSH, WiFi监控, 云存储安全, 便携设备, 可视化界面, 插件系统, 无线安全, 无线网络, 物联网安全, 监控模式, 离线访问, 移动安全测试, 网络安全, 网络扫描, 蓝牙, 逆向工具, 防御绕过, 隐私保护