512aaaa 2021-10-13 11:35 采纳率: 0%
浏览 8

用SNMP获得MAC物理地址的方法

搜了全网没有详细资料,自己探索出来了坐下整理

过程分2步

第一步根据你想要获取的ip地址查询网卡序号,就比如说我想查 ip为 10.10.10.119 的设备

snmp get 10.10.10.119 public  ..1.3.6.1.2.1.4.20.1.2.10.10.10.119

会返回一个序号

Variable = ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.10.10.10.163
Value    = Integer32 24

这里返回的是 24 

然后我们拿着这个需要找 mac 

get 10.10.10.119 public  .1.3.6.1.2.1.2.2.1.6.24

结果:

Variable = interfaces.ifTable.ifEntry.ifPhysAddress.24
Value    = String <0xb4><0x2e><0x99><0x9b><0xb7><0x7e>

这个 16 进制字符串就是我们要找的 mac地址

mac 也就是 b4:2e:99:9b:b7:7e

 

  • 写回答

1条回答 默认 最新

  • 流比 2023-01-30 17:33
    关注

    使用SNMP协议通过发送SNMP GET请求获取设备的MAC地址。需要查询设备的IP地址,并使用该地址作为请求的参数。具体过程如下:

    根据需要获取的IP地址查询网卡的编号:

    snmp get [IP地址] [公共读取字符串] ..1.3.6.1.2.1.4.20.1.2.[IP地址]
    使用网卡编号查询MAC地址:

    snmp get [IP地址] [公共读取字符串] .1.3.6.1.2.1.2.2.1.6.[网卡编号]
    以上代码执行后会返回一个16进制字符串,即为所查询的MAC地址。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月13日

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试