我想了解如何将MAC地址转换为IPv6.例如:00:01:04:76:2A:5C应该变为FE80 :: 0201:04FF:FE76:2A5C
有人可以详细说明转换吗?我们假设一个没有随机参数的自动配置用于本地机器.
hel*_*ash 16
从MAC地址(48位)到IPv6地址(128位)逐步转换:
Bash/zsh 函数(现在无需 bc 即可工作):
format_eui_64() {
local macaddr="$1"
printf "%02x%s" $(( 16#${macaddr:0:2} ^ 2#00000010 )) "${macaddr:2}" \
| sed -E -e 's/([0-9a-zA-Z]{2})*/0x\0|/g' \
| tr -d ':\n' \
| xargs -d '|' \
printf "%02x%02x:%02xff:fe%02x:%02x%02x"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15085 次 |
| 最近记录: |