提取MAC地址OUI对应的厂商信息

前言

最近需要提取MAC地址中OUI(前6位)对应的厂商信息,通过搜索在IEEE的官网上找到OUI与厂商和地址的映射文件,下文记录下提取方法.

学习笔记,以备查阅.

@Author  duangr

@Website http://my.oschina.net/duangr/blog/183789

1. IEEE OUI文件

http://standards.ieee.org/develop/regauth/oui/oui.txt

OUI				Organization
  company_id			Organization
  				Address
  
  
  00-00-00   (hex)		XEROX CORPORATION
  000000     (base 16)		XEROX CORPORATION
  				M/S 105-50C
				800 PHILLIPS ROAD
				WEBSTER NY 14580
				UNITED STATES

  00-00-01   (hex)		XEROX CORPORATION
  000001     (base 16)		XEROX CORPORATION
  				ZEROX SYSTEMS INSTITUTE
				M/S 105-50C 800 PHILLIPS ROAD
				WEBSTER NY 14580
				UNITED STATES
 
.......

将文件下载下来,上传到服务器上, 文件名为 oui.txt

2. 提取OUI与厂商的映射

从文件中grep hex 提取 00-00-00 对应的厂商信息

cat oui.txt |grep hex > MAC_original.file

通过如下脚本,处理文件格式

#!/bin/sh
SRC_FILE=MAC_original.file
TGT_FILE=MAC_out.log

rm ${TGT_FILE}

declare -l str_l
cat ${SRC_FILE} |grep -v "^#" | while read line;
do
  str_l=${line:0:8}
  mac=`echo ${str_l} | awk -F"-" '{print $1":"$2":"$3}'`
  echo "${mac}^A${line:18}" >> ${TGT_FILE}
done

将上面代码写入脚本执行后,生成格式化后的文件  MAC_out.

P.S.  其中^A 为"Ctrl+V" "Ctrl+A" 输入

3. 处理后的数据

00-00-00^AXEROX CORPORATION
00-00-01^AXEROX CORPORATION
00-00-02^AXEROX CORPORATION
00-00-03^AXEROX CORPORATION
00-00-04^AXEROX CORPORATION
00-00-05^AXEROX CORPORATION
...

数据有了,后面是导入到数据库中还是存储到HDFS中,就看个人喜好了.

4. 相关链接

转载于:https://my.oschina.net/duangr/blog/183789

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值