如何将MAC地址增加一个定义的值?
我有一个 mac 地址字符串(其中没有“:”),我需要计算第二个下一个地址。
我尝试过:
$macDec = hexdec($mac);
$macDec += 2;
$newMac = dechex($macDec);
但这将十进制值修剪为整数范围并且计算出的 mac 不正确,我可以用比使用 BC Math 等更简单的方法来做到这一点吗?
I have a mac address string (without ':' in it) I need to calculate second next address.
I've tryed to:
$macDec = hexdec($mac);
$macDec += 2;
$newMac = dechex($macDec);
but this trims decimal value to integer range and calculated mac is incorrect, can i do this in any simple way than using BC Math etc. ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的,我找到了一个解决方案,因为事实上每个供应商都必须使用自己的 VendorID,并且标准 MTA MAC 是调制解调器 MAC + 2 我从 mac 中剥离供应商 ID 部分,进行简单的计算,并在前面添加供应商 ID
@Paul Norman:thx有关如何快速完成此操作的一些提示
OK, i found a solution, because of fact that each vendor has to use its own VendorID, and standard that MTA MAC is Modem MAC + 2 i strip vendorID part from mac, do a simple calculation, and prepend vendorID
@Paul Norman: thx for few hints on how to do that quickly
不要重新发明轮子,使用 netaddr 库。我编写此代码是为了根据序列号范围生成 MAC 地址列表。
Don't reinvent the wheel, use the netaddr library. I wrote this to generate a list of MAC addresses based on a serial number range.