一、如何获取最新的厂商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
微信扫描以下二维码关注: