赞
踩
一、如何获取最新的厂商mac地址列表
mac地址都是由IEEE的注册管理机构RA分配给厂商,分配时只分配前三个字节,后三个字节由各厂商自行分配。mac地址由IEEE组织统一管理,所有合法的mac地址都可以通过IEEE官网查询到厂商。
IEEE组织会定期更新oui文件,用于查询mac地址厂商。oui文件包含了mac地址的注册信息,包含mac地址前缀(前三个字节)和公司名等,如苹果公司的mac地址注册信息,包含多个mac地址前缀,因为设备比较多,一个mac地址段不够用。提取了两个mac地址段如下:
- F0-76-6F (hex) Apple, Inc.
- F0766F (base 16) Apple, Inc.
- 1 Infinite Loop
- Cupertino CA 95014
- US
-
- 40-CB-C0 (hex) Apple, Inc.
- 40CBC0 (base 16) Apple, Inc.
- 1 Infinite Loop
- Cupertino CA 95014
- US
oui文件下载地址
http://standards.ieee.org/develop/regauth/oui/oui.txt
可以在浏览器中下载或通过wget 命令获取
二、mac地址提取
由于原始的oui文件信息比较多,我们只需要提取mac地址和厂商信息。可以将某厂商的所有mac地址段集中在一起,采用以下格式:
- #start vendor_name
-
- aa-bb-cc
-
- dd-ee-ff
-
- #end vendor_name
提取脚本如下:
- cat oui.txt |grep hex|awk '{print $1 " : " $3}'> result.txt
-
- vendor_list="Apple Huawei meizu Smartisan acer Dell \
- Samsung Lenovo Hasse Vivo Tcl Gionee Asus Zte \
- oppo sony htc xiaomi Lg hisense Sharp veb Motorola \
- Vivotek Fujitsu OnePlus Philips Konka Gionee Yulong Toshiba \
- Haier Coship" # 可以增加删除要过滤的厂商,注意要在oui中能查询到的厂商名
-
- for i in $vendor_list
-
- do
-
- echo "#start $i"
-
- cat result.txt |grep "$i" -i |awk '{print $1}'|wc -l
-
- #cat result.txt |grep "$i" -i |awk '{print $1}'
-
- echo "#end $i"
-
- done

提取后的结果(由于结果过长,这里只列出部分):
- #start Apple
-
- E8-08-8B
- E8-CD-2D
- EC-23-3D
- EC-CB-30
- F4-55-9C
- F4-9F-F3
- F4-DC-F9
- F8-01-13
- F8-3D-FF
- F8-4A-BF
- F8-E8-11
- FC-48-EF
-
- #end Apple
- #start Toshiba
- 00-00-39
- 00-06-00
- 00-08-0D
- 00-0E-7B
- 00-15-B7
- 00-1C-7E
- 00-23-18
- 24-2F-FA
- 38-01-97
- 98-6D-C8
- B8-6B-23
- E8-9D-87
- E8-E0-B7
- F4-64-5D
- FC-00-12
- #end Toshiba
-
- #start meizu
- 38-BC-1A
- #end meizu
-
- #start Philips
- 00-02-6C
- 00-05-4E
- 00-08-C6
- 00-09-5C
- 00-09-FB
- 00-17-88
- 00-1E-CF
- 00-25-1B
- 00-50-09
- 00-90-20
- 00-D0-DE
- 08-00-6F
- 1C-5A-6B
- 7C-94-B2
- #end Philips
-
- #start Motorola
- 00-0A-28
- 00-0E-C7
- 00-20-75
- 00-23-68
- 00-24-37
- 00-24-92
- 00-E0-0C
- 14-1A-A3
- 14-30-C6
- 34-BB-26
- 40-78-6A
- 40-83-DE
- 48-2C-EA
- 4C-CC-34
- 5C-0E-8B
- 60-BE-B5
- 80-6C-1B
- 84-24-8D
- 90-68-C3
- 9C-D9-17
- A4-70-D6
- B0-79-94
- B4-C7-99
- C4-7D-CC
- CC-C3-EA
- E0-75-7D
- EC-88-92
- F4-F1-E1
- F8-E0-79
- F8-F1-B6
- FC-0A-81
- #end Motorola

学习OpenWrt 嵌入式linux开发,可以关注我的公众号获取开发教程,定期更新技术干货!
微信公众号: OpenWrt
微信扫描以下二维码关注:

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。