Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否有任何方法可以在不使用SNMP的情况下检测所连接主机设备的软件版本或内核版本_Ios_Swift_Networking_Operating System_Snmp - Fatal编程技术网

Ios 是否有任何方法可以在不使用SNMP的情况下检测所连接主机设备的软件版本或内核版本

Ios 是否有任何方法可以在不使用SNMP的情况下检测所连接主机设备的软件版本或内核版本,ios,swift,networking,operating-system,snmp,Ios,Swift,Networking,Operating System,Snmp,我的问题正是标题所说的,是否有任何方法可以在不使用SNMP的情况下检测所连接主机设备的软件版本或内核版本?我在iOSswift中使用SNMP获得了主机设备的软件版本。但这需要在主机设备中启用snmp,我不想这样做,我想获取该信息,就像其他Lanscanner获取主机设备的其他信息,如ip、名称和mac地址,而不在主机设备中启用任何功能,就像这个示例一样,此扫描仪获取名称、设备类型和mac地址等信息。我可以更改此库以获取软件或内核版本吗?如果是的话,一点指导会非常有帮助。谢谢。首先也是最重要的:,

我的问题正是标题所说的,是否有任何方法可以在不使用SNMP的情况下检测所连接主机设备的软件版本或内核版本?我在iOSswift中使用SNMP获得了主机设备的软件版本。但这需要在主机设备中启用snmp,我不想这样做,我想获取该信息,就像其他Lanscanner获取主机设备的其他信息,如ip、名称和mac地址,而不在主机设备中启用任何功能,就像这个示例一样,此扫描仪获取名称、设备类型和mac地址等信息。我可以更改此库以获取软件或内核版本吗?如果是的话,一点指导会非常有帮助。谢谢。

首先也是最重要的:,因此此库不再能够获取IP地址以外的任何网络设备信息

也就是说:

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

不,因为那是不可能的

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


在网络设备上运行的软件版本没有通用的方法。SNMP是我能想到的唯一标准方法,正如您所发现的,大多数消费设备上默认不存在代理。

SNMP是IETF的标准,而不同的供应商例如Apple/Microsoft/Cisco可以有自己的标准WMI/PowerShell for Microsoft。我不确定这是一个合适的比较。WMI是一种软件接口,而不是网络协议,PowerShell是一种脚本语言。不幸的是,WMI和PowerShell不仅仅是软件接口和脚本语言,因为它们还包括支持远程管理的基础设施。@Wuff我对SNMP的唯一问题是它需要在主机设备上启用才能发现它们,但我的工作要求用户不想首先启用SNMP。那么,有没有办法通过我的iOS xcode应用程序启用snmp,而不需要用户自己去启用它?@LexLi但我希望它能在所有设备上运行苹果/微软。我们可以在我的iOS应用程序中实现Powershell的功能吗?如果是,比如何?或者还有别的办法吗?