有什么方法可以在不使用SNMP的情况下检测连接的主机设备的软件版本或内核版本

时间:2018-08-30 16:09:31

标签: ios swift networking operating-system snmp

我的问题就是标题的确切含义,是否有任何方法可以在不使用SNMP的情况下检测连接的主机设备的软件版本或内核版本?我已经在iOS(swift)中使用SNMP实现了主机设备的软件版本。但这需要在主机设备中启用snmp,而我不想那样工作,我想像其他LANScanner那样获取该信息,而无需在主机中启用任何功能即可获取其他信息,例如主机设备的ip,名称和mac地址。设备,就像本示例一样,此扫描器(https://github.com/mavris/MMLanScan)获取信息,例如名称,设备类型和mac地址。我可以更改此库以获取软件或内核版本吗?如果是的话,那么稍加指导将非常有帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

首要的是:iOS 11 removed the ability for applications to view MAC addresses at all,因此该库不再具有获取有关IP地址以外的网络设备的任何信息的功能。

话虽这么说

  

我可以更改该库以获取软件或内核版本吗?

不,因为那是不可能的。

您正在查看的MMLanScan库使用MAC地址来确定设备的制造商。这是可能的,因为MAC地址的前三个八位位组标识制造商。 MAC地址不包含有关设备上当前正在运行的软件的任何信息-毕竟,它是固定标识符,并且不能更改以反映软件的更改!

没有普遍适用的方法来获取在网络设备上运行的软件版本。 SNMP是我能想到的唯一标准方法,并且,正如您所发现的,默认情况下,大多数消费类设备上都没有代理。