最近在河北做项目,碰到了一个问题,现场组网后,在同一个网内的设备,都拥有同一个mac地址。这种情况下,我们可以视为拿到的这个mac地址,其实是接入层交换机的mac地址。因为目前我们的应用程序,其实就是通过发ping指令后,再通过arp -a ipAddress(这个ipAddress可以是192.168.1.100等实际的地址)来获取mac地址。

不过现场的同事后来告诉我,他通过arp指令查到的mac地址与实际设备的mac地址不符,但是通过nbtstat -a ipAddress这个指令,可以获取真正的mac地址。然后希望我们调研一下,看看能不能调整代码,做一下适配。

于是我这边抽了时间去看了一下。发现nbtstat发出的报文如下:

可以看到,通过nbtstat这个指令,实际发出的并不是arp协议,是NBNS协议。

回复内容如下:

可以看到回复的内容可以视为一个结构体,结构体中成员变量Unit ID就是mac地址。通过这种方式,确实绕过arp的弊端,获取真正的mac地址。

那既然有这么好的方式,咱得用起来啊,对吧?结果又碰到问题了,如果目标设备是windows系统的,那么通过nbtstat确实可以获取mac地址。但是如果目标设备不是window系统,比如是linux系统的,那么sorry了,压根就不会有response。

另外,因为linux下没有nbtstat这个指令,因此,如果想要在linux下发出NBNS指令报文,可以使用nbtscan这个工具。

不同设备拿到了相同的mac地址(arp和nbtstat)相关推荐

  1. SANGFOR AC设备怎么禁止一台电脑mac地址上外网

    环境: SANGFOR AC-1000-B1200 V.13.0 AC13.0.62 旁挂模式部署 问题描述: SANGFOR AC设备怎么禁止一台电脑mac地址上外网 解决方案: 方法一: 可以通过 ...

  2. 我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据)

    一.需求 解决应用上架问题 过度获取用户信息 我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据) 自"滴滴" ...

  3. 02. MAC地址 · ARP · ICMP · IP地址 · 子网 · 超网 · 端口

    MAC · IP · 子网 · 超网 MAC地址 MAC地址的表示格式 MAC地址操作(查看.修改)[实践] MAC地址的获取[实践] ARP ICMP IP地址 · 子网掩码 IP地址的组成 IP地 ...

  4. win10查看设备序列号、硬盘序列号、mac地址

    1. 设备序列号 wmic bios get serialnumber 2. 查看硬盘序列号 wmic diskdrive get serialnumber 3. mac地址 控制面板\网络和 Int ...

  5. iOS7以下设备获取mac地址

    注意,是iOS7以下的设备,直接上源码,获取mac地址都是为了唯一标识一个设备的,但iOS7设备的mac地址为 020000000000 MacAddress.h #include <sys/s ...

  6. omnipeek抓包(确定设备AP模式下的MAC地址+过滤)

    转载请注明作者和出处:美二 https://blog.csdn.net/qq_32654897/article/details/89217656 这篇教程写给纯小白,大神可在评论处直接指导,哈哈~ 目 ...

  7. 获取安卓设备的有线网卡的MAC地址(安卓TV、安卓系统的广告机等)

    一.有些安卓设备不仅有无线wifi的mac地址,还有有线网卡的mac地址,下面是几中获取方法. 1.直接上代码,以下几种方法只能获取有线网卡MAC //得到有线网卡的MAC地址 public stat ...

  8. Linux下修改MAC地址总结

    偶尔会用到这个知识点,久了不用又会记不住,所以记之,方便以后查询. Linux下修改MAC地址 方法一: 1.关闭网卡设备 ifconfig eth0 down 2.修改MAC地址 ifconfig ...

  9. mac地址厂商对应表_网络工程师一分钟搞懂MAC地址表知识点全部内容,建议收藏...

    MAC(Media Access Control, 介质访问控制)地址是识别LAN节点的标识.网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM,它存储的是传输数据时真正赖以标识发出数据的电脑和接 ...

最新文章

  1. 2022-2028年中国金融安防行业深度调研及投资前景预测报告
  2. 使用微软提供的Office Online实现Office文档的在线查看,编辑等功能
  3. python数字类型-python数字类型
  4. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
  5. 为啥不能用uuid做MySQL的主键!?
  6. 【手写系列】透彻理解Spring事务设计思想之手写实现
  7. [云炬创业基础笔记]第七张创业资源测试14
  8. 适合程序员的四大字体
  9. windows操作笔记
  10. java excel_java生成excel并下载功能
  11. (9)Node.js 内置模块
  12. @程序员,与JavaScript 疲劳症SayBye!
  13. 云服务器svn怎么用,腾讯云服务器搭建SVN
  14. Java基础Arrays类
  15. 联想研究院裁员---血淋漓的教训:公司不是家(老文)
  16. QT 控件加载图片不显示
  17. 家用计算机初步,职称计算机Internet基础知识:配置家庭局域网
  18. 计算机组成原理练习题(第6章 计算机的运算方法(中))
  19. 【VUE项目实战】51、商品添加功能(一)
  20. TensorFlow 2.1.0 使用 TFRecord 转存与读取图片

热门文章

  1. 计算机的库的分类,计算机运行库的分类和简介
  2. 元宇宙旅游局 | 赛博卢浮与法老王的金字塔
  3. 关于一台电脑无法搜索到另外一台电脑wifi热点的解决方法
  4. 王石接受访问 建议40岁之前不买房先租房
  5. #G2S# Geek Point: 我眼中的Maker Faire Shenzhen
  6. 凑零钱问题_凑零钱的组合
  7. 抖音年赚千万的机会,错过再等10年
  8. java 仿qq mysql_基于Java远程通信(仿QQ)及应用研究设计(MySQL)(含录像)
  9. PS--人物黄金色调
  10. Python经典面试题 之 is 和 == 的区别