get mac 20150202

本文介绍了一组用于处理MAC地址信息的脚本,包括通过shell脚本获取MAC地址并整理成CSV格式,再利用Python脚本对这些MAC地址进行品牌和供应商信息匹配的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

getmac.sh

#!/bin/sh

cat oui.txt|sed -e :a -e '$!N;s/\n\s/=/;ta' -e 'P;D' | sed 's/(hex)\+/=/g' | sed 's/,/ /g' | sed 's/^\s/,/' | awk -F '=' '{print($1","$3","$2","$NF)}' | sort | sed '1s/^/Brand,Vendor,MAC address,Country/' >_MAC.csv

 

getmac.py

# coding: utf-8
import csv
import string
import re

array=("alcatel",
"alps",
"amoi",
"apple",
"asus",
"Asustek",
"changhong",
"bird",
"Blackberry",
"Datang",
"dopod",
"ericsson",
"gionee",
"google",
"Haier",
"htc",
"Hisense",
"huawei",
"htc",
"INFOCUS",
"Konka",
"koobee",
"LG",
"lenovo",
"meizu",
"Motorola",
"Newman",
"NOKIA",
"OPPO",
"SONY",
"samsung",
"SHARP",
"philips",
"sonim",
"tcl",
"THL",
"Tianyu",
"veaka",
"VEB",
"vivo",
"xiaomi",
"yotaphone",
"yulong",
"zte corporation",
"mediatek",
"qualcomm",
"micromax",
"spice",
"Karbonn",
"Lava",
"Intex",
"Celkon"
"kyocera",
"Pantech",
"Palm",
"smartisan"

)

brand_count=len(array)

csvfile = open('____MAC.csv', 'wb')
writer=csv.writer(csvfile)
flag=0

def string_found(string1, string2):
if re.search(r"\b" + re.escape(string1) + r"\b", string2):
return 1
return -1

for line in open("_MAC.csv"):
brand,vendor,macaddress,country = line.split(",")
brand = brand.strip(' \t\r\n');
vendor = vendor.strip(' \t\r\n');
macaddress = macaddress.strip(' \t\r\n');
country = country.strip(' \t\r\n');
vendor1=vendor.upper();
for i in range(0,brand_count):
if (string_found(array[i].upper(),vendor1)!=-1):
writer.writerow([array[i].upper(),vendor,macaddress,country])
flag=1
break
if(flag==0):
writer.writerow([brand ,vendor ,macaddress,country])
flag=0
csvfile.close()

print "Total",len(array),"main vendors created in ____MAC.csv"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值