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 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统
  • ¥15 selenium 控制 chrome-for-testing 在 Linux 环境下报错 SessionNotCreatedException
  • ¥15 使用pyodbc操作SQL数据库
  • ¥15 MATLAB实现下列
  • ¥30 mininet可视化打不开.mn文件
  • ¥50 C# 全屏打开Edge浏览器
  • ¥80 WEBPACK性能优化
  • ¥30 python拟合回归分析
  • ¥500 metaswitch 6010