有没有办法在不使用SNMP的情况下检测连接主机设备的软件版本或内核版本

问题描述 投票:0回答:1

我的问题正是标题所说的,有没有办法在不使用SNMP的情况下检测连接主机设备的软件版本或内核版本?我已经在iOS(swift)中使用SNMP获得了主机设备的软件版本。但这需要在主机设备中启用snmp,我不希望以这种方式工作,我想获取该信息就像其他LANScanner获取其他信息,如主机设备的ip,名称和mac地址,而无需在主机中启用设备,就像这个例子一样,这个扫描仪(https://github.com/mavris/MMLanScan)获取名称,设备类型和mac地址等信息。我可以更改此库以获取软件或内核版本吗?如果是的话,一点点的指导将会非常有帮助。谢谢。

ios swift networking operating-system snmp
1个回答
1
投票

首先是:iOS 11 removed the ability for applications to view MAC addresses at all,因此该库不再能够获取超出IP地址的网络设备的任何信息。

话虽如此:

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

不,因为那是不可能的。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.