在 iPhone 上通过 SNMP 从路由器获取 MAC 和厂商
在路由器上启用 SNMP,并把 iPhone 或 iPad 上的 NetBlade 免费连接到它,让每台设备都显示其 MAC 地址和厂商。
iOS 从不向应用显示其他设备的 MAC 地址,因此首次扫描后,NetBlade 中许多设备既没有 MAC 也没有厂商。你的路由器在它的 ARP 表中知道所有这些信息,并且可以通过 SNMP 共享该表。本文说明如何在一台常见的路由器上启用 SNMP、如何用团体名或 SNMP v3 把 NetBlade 连接到它,以及如何检查结果。这是免费的。
开始之前
- 一个已保存的网络,或准备保存一个。参见在 iPhone 和 iPad 上开始使用 NetBlade。
- 一台支持 SNMP 的路由器。许多商用路由器、防火墙和可网管交换机都支持;许多运营商提供的家用路由器并不开放它。
- 路由器管理页面的访问权限。工具 › 路由器 › “打开 Web 界面”会带你过去。
注意: NetBlade 只通过 SNMP 读取。它绝不会更改路由器上的任何东西。
1. 在路由器上启用 SNMP
每个厂商放置它的位置都不同,但思路是一样的。在管理页面中查找“SNMP”,通常位于“管理”、“Management”、“系统”或“服务”下。然后从下面两个选项中选一个。
选项 A:带团体名的 v1/v2c
团体名是一个共享的词,作用相当于读取密码。
- 启用 SNMP,如果路由器提供,请选 v2c。
- 设置一个只读团体名。避免使用
public:这是每个工具都会首先尝试的默认值。 - 如果路由器允许,请把 SNMP 访问限制在你的本地网络内。
- 绝不要为 NetBlade 创建读写团体名。它不需要。
选项 B:带用户的 v3
v3 增加了用户名、身份验证和加密。在路由器提供时请使用它。
- 创建一个只读 v3 用户。
- 身份验证:MD5 或 SHA。
- 隐私(加密):DES 或 AES。优先选择 SHA 搭配 AES。
警告: NetBlade 的 v3 支持 SHA (SHA-1) 和 AES (AES-128)。如果路由器只提供 SHA-256 或 AES-256,请为该用户选择 SHA 和 AES-128,或者使用 v2c 并配一个限制在你 LAN 内的强团体名。
警告: 确保 SNMP 只能从你的网络内部访问,绝不能从互联网访问。
2. 在 NetBlade 中输入凭据
- 在 LAN 标签页中打开 ⋯ 菜单,选择“保存此网络”。如果它已保存,请轻点标题下方琥珀色的“SNMP”标记,或打开“已保存” › 你的网络 › “凭据”。
- 开启“来自路由器的设备 (SNMP)”。
- 选择“版本”:v1、v2c 或 v3。
- 对于 v1 或 v2c,输入“团体名”。
- 对于 v3,输入“用户名”,选择“身份验证”并输入“身份验证密钥”,然后选择“隐私”并输入“隐私密钥”。
- 保存。NetBlade 会立即重试获取 MAC。
从现在起,对这个网络的每次扫描都会读取路由器的 ARP 表。
凭据存放在哪里
SNMP 凭据保存在 iOS 钥匙串中,仅存于本设备。它们不会被放入 NetBlade 的备份文件,因此在另一台设备上恢复后,你需要重新输入。
3. 试一次直接查询
用于快速测试,或用于你尚未保存的另一网络上的路由器:
- 工具 › “来自路由器的设备”。
- 输入路由器的 IP(通常是网关)和团体名。
- 轻点“查询”。
你会得到路由器所知道的 IP 与 MAC 对。如果这行得通,已保存的网络也会行得通。
提示: 工具 › SNMP 会以相同方式查询任何设备,并显示其系统信息、带实时流量的接口、VLAN、存储、CPU,以及打印机的墨粉和页数。它在 iPhone 上同样免费。
检查是否成功
- LAN 标签页标题下方的“SNMP”标记变为绿色。
- “扫描摘要”显示路由器已通过 SNMP 响应。
- 列表中的设备现在会显示 MAC 地址和厂商。
- 设置 › “LAN 扫描” › “从 MAC 查询厂商”已开启:它只影响那些 MAC 通过 SNMP 到达的设备。
如果扫描后仍缺少某些 MAC,请使用 ⋯ › “重试 MAC (SNMP)”。
如果出现问题
- 标记一直是琥珀色。 检查 SNMP 是否已启用、版本是否匹配,以及团体名或 v3 用户是否与路由器上的完全一致。团体名区分大小写。
- 路由器有响应,但到达的 MAC 很少。 ARP 表只保存最近与路由器通信过的设备。再扫描一次:扫描本身会让设备发出通信。
- v3 失败,但 v2c 有效。 很可能是身份验证或隐私协议不匹配。检查路由器上是否是 SHA-256 或 AES-256,NetBlade 不支持这两者。
- 路由器没有 SNMP 选项。 许多运营商路由器都没有。自行广播 MAC 的设备(例如 AirPlay 设备)仍会显示它;其余设备的列表将保持没有 MAC,NetBlade 会如实说明,而不是猜测。
- 单台设备使用了与网络不同的 SNMP 凭据。 打开它的详情,在“凭据(此设备)”中设置它们。