免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1114 | 回复: 0
打印 上一主题 下一主题

巧取主机MAC地址(图) z [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-30 09:35 |只看该作者 |倒序浏览

本文出自《网管员世界》2003年第8期  
作为中小型局域网的管理员,获取上网计算机的MAC地址是非常必要的,计算机中网卡的媒体访问控制地址(MAC地址)是它在出厂时固化的一个硬件地址,由于它具有标识一台计算机的惟一性,所以网管可以通过用户名称、IP地址和MAC地址的对照表,查找出盗用IP地址或存在IP地址冲突的计算机,从而排除网络上的故障。对于使用高端设备的局域网来说,这个问题就简单了,交换机可以通过自学习,获得与它连接的计算机的IP地址和MAC地址。目前的一些常用网络小工具也可以搜索出局域网中计算机的名称、IP地址和MAC地址等信息,但这些软件都是对同一网段才起作用。其实我们完全可以在不使用第三方工具软件的条件下,利用Windows系统自带的程序来查看本地机、同一网段或局域网中不同虚拟网内的计算机的MAC地址。
获取本机的MAC地址
       太简单了,我这里不引用了。
获取同一网段中计算机的MAC地址
如果我们要想获取相同网段中远程计算机的MAC地址,可以使用一个网络命令ARP。它可以显示和修改“地址解析协议(ARP)”缓存中的项目,在ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环的物理地址。由于IP地址和对应的物理地址列表是储存在ARP缓存中的,如果终止TCP/IP协议后再启动,这些列表项会被删除,如果您从未连接过某台计算机,这个ARP缓存中列表中也不会有它的物理地址。所以当我们要获取相应远程计算机的ARP信息时,首先需要ping通它,然后才能取得ARP信息。
进入计算机的命令提示符模式,先使用ping命令,ping通所有需要获取MAC地址的远程计算机,然后键入“arp -a”命令(见图3)。

图3
从图3中我们可以看到,ARP缓存列表中显示了计算机的IP地址和MAC地址的对应关系,一目了然。
获取不同虚网中计算机的MAC地址

如果要获得不同虚网中计算机的MAC地址,ARP命令就起不了作用了,这时需要使用另外一个Windows自带的网络命令——nbtstat。该命令显示了本地计算机和远程计算机的基于TCP/IP协议的NetBIOS统计资料、NetBIOS名称表和NetBIOS名称缓存。nbtstat命令可以带许多参数,在此我们只使用“-A IP address”这个参数,此参数显示了远程计算机的NetBIOS名称表,其远程计算机由参数“IP address”中输入的IP地址指定。
我们要获取不同网段,IP地址为172.16.68.12计算机的MAC地址,可以在命令提示符模式下,输入“nbtsta- 172.16.68.12”得到的结果(见图4)。

图4
从图中我们可以看到,在结果的最后一行显示有“MAC Address = 00-08-C7-0D-E0-EA”,这正是我们所需要的远程计算机的MAC地址。注意nbtstat命令行参数区分大小写,此处的参数A不能使用小写字符


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/484/showart_23926.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP