引言
设备唯一MAC地址可以查询出设备的品牌,比如说你的路由器上出现了莫名的设备,可以通过MAC地址查询你自己是否有这个设备,如果没有,那么这个说明无线网可能被攻陷了,当然也有其它的用途。
数据源:https://standards-oui.ieee.org/
获取设备MAC地址
Windows
ipconfig /all
引用
无线局域网适配器 本地连接* 10:
描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
物理地址. . . . . . . . . . . . . : 96-E2-3C-++-++-++
苹果mac
关于本机--系统报告--【选择网卡(如Wi-Fi)】-- mac地址
苹果手机
设置-通用-关于本机-无线局域网地址
安卓设备
以小米为例
设置-关于本机-状态信息-设备WLAN MAC地址
mac地址表
bash查询脚本
ℹ 脚本编写于termux设备,适用于Linux设备,但是需要修改macaddr.txt的路径
⚠ 支持MAC地址前六位查询和设备名称查询
#!/bin/zsh
# 获取第一个参数作为关键词
keyword=$1
# 查找关键字所在的行号并存入数组
line_numbers=($(cat -n /data/data/com.termux/files/home/script/macaddr.txt | grep -i "$keyword" | awk '{print $1}'))
echo "--------------------------------------------------------------------------------------------------------------------"
# 如果没有找到匹配的行,退出脚本
if [ ${#line_numbers[@]} -eq 0 ]; then
echo "未找到匹配信息。"
echo "--------------------------------------------------------------------------------------------------------------------"
exit 1
fi
# 遍历所有匹配的行号
for line in "${line_numbers[@]}"; do
# echo "关键字行号: $line"
# 根据关键字是否包含 '-' 来设置 start 和 end 行号
if [[ $keyword == *-* ]]; then
start=$line
end=$(($line + 4))
else
start=$(($line - 1))
end=$(($line + 3))
fi
# 提取从 start 到 end 行的数据
content=$(sed -n "${start},${end}p" /data/data/com.termux/files/home/script/macaddr.txt)
# 检查第一行是否为空,如果是,则跳过输出
first_line=$(echo "$content" | sed -n '1p')
if [[ ${#first_line} -eq 1 || "$first_line" != *"(hex)"* ]]; then
# echo "从第 $start 行到第 $end 行的数据第一行为空,跳过输出。"
else
#echo "从第 $start 行到第 $end 行的数据:"
echo "$content"
echo "--------------------------------------------------------------------------------------------------------------------"
fi
done
参考样例:
query-mac.sh XiaoMi
query-mac.sh B83BCC
query-mac.sh b83bcc
query-mac.sh B8-3B-CC
query-mac.sh b8-3b-cc


结语
不讲武德,MAC地址是可以修改的,所以并不是什么时候都适用,但是一般用户修改起来还是有些门槛的。


评论 0
还没有评论,来说点什么吧。