在 Android 上通过 SNMP 读取路由器、交换机或打印机
在网络设备上启用 SNMP,再用 NetBlade Android 版找回隐藏的 MAC 地址、读取设备详情并绘制交换机拓扑。
SNMP 是网络设备用来描述自身的协议:路由器、交换机、打印机和 NAS 可以回答有关其接口、表和状态的问题。NetBlade 以只读方式使用它,因此永远不会更改设备上的任何内容。本文先概括介绍如何启用 SNMP,然后介绍如何在 NetBlade 中用它找回 MAC 地址、读取设备详情并绘制网络拓扑图。
开始之前
- 一台支持 SNMP 的设备。许多企业级路由器、可网管交换机、打印机和 NAS 都支持;许多运营商提供的家用路由器不开放 SNMP。
- 能访问设备的管理页面以启用 SNMP。
- 免费的部分:用“来自路由器的设备 (SNMP)”读取路由器的表,以及扫描时的 MAC 恢复。设备上的“SNMP 详情”是高级功能,观看一段视频可解锁 24 小时,或通过“移除广告”永久解锁。
1. 在设备上启用 SNMP
每个厂商把它放在不同的地方,但步骤大同小异。在管理页面中查找“SNMP”,通常位于“管理”“系统”或“服务”之下。然后从两个选项中选择一个。
使用团体名的 SNMP v1/v2c
团体名是一个共享的词,作用类似于读取密码。按以下方式设置:
- 启用 SNMP,如有 v2c 版本则选择 v2c。
- 设置一个只读团体名。避免使用
public,这是所有人都会先试的默认值。 - 如果设备允许,将访问限制在你的局域网或特定地址。
- 永远不要为 NetBlade 启用读写团体名:它只读取。
使用用户的 SNMP v3
v3 增加了用户名、身份验证和加密,在可用时是更好的选择:
- 创建一个只读访问的 v3 用户。
- 身份验证:MD5 或 SHA。NetBlade 支持这两种。
- 隐私(加密):DES 或 AES(AES-128)。优先选择 SHA 和 AES。
警告: 如果你的设备只为 v3 提供 SHA-256 或 AES-256,NetBlade 无法使用该配置。请选择 SHA 和 AES-128,或退回使用 v2c,并设置一个限制在局域网内的强团体名。
警告: 不要把 SNMP 暴露到互联网上。如果扫描显示一台你没有配置过的设备开放了 161 端口,NetBlade 的安全评估会因此将其标出。
2. 在扫描时找回 MAC 地址
从 Android 10 起,系统向应用隐藏了大多数 MAC 地址。而路由器的 ARP 表里记着所有 MAC 地址。
- 在“LAN”标签页中打开 ⋮ → “命名网络”(或编辑已保存的网络)。
- 打开“来自路由器的设备 (SNMP)”。
- 选择版本并输入“团体名”;如果是 v3,则输入“v3 用户名”“身份验证”“身份验证密码”“隐私”和“隐私密码”。
- 点按“保存”。
- 如果 MAC 没有立即出现,请使用 ⋮ → “重试 SNMP MAC 查询”。
从现在起,每次扫描这个网络都会读取路由器的表,“扫描摘要”会在“通过 SNMP 恢复 MAC”下报告结果。
注意: SNMP 凭据以未加密形式存储在应用数据库中,因此也会包含在你的 Google 账号备份和导出的备份文件中。这是一个有意的取舍:恢复时无需重新输入即可找回它们。
3. 直接查询路由器的表
如需一次性检查而不保存网络:
- “工具” → “来自路由器的设备 (SNMP)”。
- 输入团体名或 v3 凭据,然后开始。
你会得到路由器所知道的 IP 与 MAC 对照及厂商信息。这是对“到底谁在这个网络上”最直接的回答。
4. 读取设备的 SNMP 详情
- 扫描后打开任意设备的详情。
- 打开“SNMP详情”。
- 如果这台设备使用与网络不同的凭据,点按 ⚙ 图标并填写“此设备的 SNMP”,然后点按“应用”。
你看到的内容取决于设备:
- 所有设备:名称、位置、联系人、运行时间和描述。
- 打印机:碳粉、页数和序列号。
- NAS 和服务器:CPU、内存、存储、进程和用户。
- 交换机和路由器:接口、交换机端口、VLAN、IP 地址和 IP 转发。
- 硬件和固件(在设备报告时显示)。
点按某个接口可查看其实时流量图,每 2 秒刷新一次。这是找出让上行链路饱和的端口的快捷方法。
5. 根据交换机绘制网络拓扑
如果你有可网管交换机,SNMP 可以让 NetBlade 画出网络的实际连线方式。
- 确认交换机能用网络的凭据响应 SNMP,或在每台交换机上设置“此设备的 SNMP”。
- 扫描后,在“LAN”标签页中从“列表视图”切换到“地图视图”。
- 点按“重建”,根据交换机的表重新生成拓扑图。
- 手动修正任何内容:点按一个节点,然后选择“标记为交换机”“连接到…”或“断开”。
如果交换机没有启用 SNMP,网络会显示为单一网段,结构就只有你手动画出的部分。
检查是否成功
- “扫描摘要”在“通过 SNMP 恢复 MAC”下显示“路由器已响应”以及 ARP 记录的数量。
- 原本显示“未获取”的设备现在显示 MAC 和厂商。
- 路由器上的“SNMP详情”显示其名称和运行时间。
如果出现问题
- “无SNMP响应”或“…:161 无响应”。 SNMP 未开启、凭据错误,或设备只接受来自特定地址的查询。在设备上逐一检查。
- “路由器已响应,但 ARP 表为空”。 有些路由器需要单独启用 SNMP 支持中的 IP/ARP 部分。在 SNMP 设置中查找有关 MIB 或 ARP 的选项。
- 摘要说尝试了默认团体名
public。 你还没有为这个网络设置 SNMP。在网络设置中输入团体名。 - 某个接口没有流量图。 它没有提供流量计数器。
- 一台没有 MAC 的设备没出现在拓扑图上。 只有知道设备的 MAC 后,才能把它放到拓扑图上。