如何使用snmp获取系统的Mac地址?

如何使用snmp获取系统的Mac地址?,snmp,Snmp,我正在使用snmpwalk检索我的系统(localhost)或远程系统的mac地址,我正在使用以下命令: snmpwalk -v2c -c public localhost .1.3.6.1.2.1.2.2.1.6 并得到一个错误,如noSuchObject 如何解决此错误?是否有其他方法可以使用snmp获取系统mac地址 没有“系统MAC地址”这样的东西。系统没有MAC地址;网络接口确实如此,并且一个系统可能有零个、一个、两个或多个网络接口 这就是为什么要使用snmpwalk:因为.1.3.

我正在使用snmpwalk检索我的系统(localhost)或远程系统的mac地址,我正在使用以下命令:

snmpwalk -v2c -c public localhost .1.3.6.1.2.1.2.2.1.6
并得到一个错误,如
noSuchObject

如何解决此错误?是否有其他方法可以使用snmp获取系统mac地址

没有“系统MAC地址”这样的东西。系统没有MAC地址;网络接口确实如此,并且一个系统可能有零个、一个、两个或多个网络接口

这就是为什么要使用
snmpwalk
:因为.1.3.6.1.2.1.2.2.1.6(即
ifPhysAddress
)是接口表中的一列,您事先不知道将返回多少概念行(以及每行将使用什么唯一的数字索引作为其键)

因此,您正确地使用了该命令。但是接下来我们必须考虑到自从SNMP和SMI RFCs被写入之后,时代已经改变了,在网络繁荣之前,当互联网是一个相对愉快和快乐的地方。如今,实现往往在其披露的信息方面更加保守,因为您披露的每一条信息都可能是攻击您的系统的另一种方式。为什么有人需要访问才能知道您系统的MAC地址?他们可能没有。我最近创建了一个SNMP代理,它对“标准”对象的支持与列出网络接口没有任何关系。当RFC1907中采用“安全”子集时,snmp中的许多RFC1213数据包/状态计数器被故意淘汰

这对你意味着什么?嗯,远程系统必须有一个网络接口,否则你就无法与它通话。因此,您正在轮询/查询的SNMP代理(您没有说是哪个)是硬编码的,或者配置为不提供此信息。你无法回避这一点,除非与软件的创建者交谈,询问软件是否可配置;准备回答“否”。

没有“系统MAC地址”这样的东西。系统没有MAC地址;网络接口确实如此,并且一个系统可能有零个、一个、两个或多个网络接口

这就是为什么要使用
snmpwalk
:因为.1.3.6.1.2.1.2.2.1.6(即
ifPhysAddress
)是接口表中的一列,您事先不知道将返回多少概念行(以及每行将使用什么唯一的数字索引作为其键)

因此,您正确地使用了该命令。但是接下来我们必须考虑到自从SNMP和SMI RFCs被写入之后,时代已经改变了,在网络繁荣之前,当互联网是一个相对愉快和快乐的地方。如今,实现往往在其披露的信息方面更加保守,因为您披露的每一条信息都可能是攻击您的系统的另一种方式。为什么有人需要访问才能知道您系统的MAC地址?他们可能没有。我最近创建了一个SNMP代理,它对“标准”对象的支持与列出网络接口没有任何关系。当RFC1907中采用“安全”子集时,snmp中的许多RFC1213数据包/状态计数器被故意淘汰


这对你意味着什么?嗯,远程系统必须有一个网络接口,否则你就无法与它通话。因此,您正在轮询/查询的SNMP代理(您没有说是哪个)是硬编码的,或者配置为不提供此信息。你无法回避这一点,除非与软件的创建者交谈,询问软件是否可配置;准备好回答“不”。

理解..谢谢。理解..谢谢。