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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵