1
我正在使用PHP中的會計工具,它連接到CISCO交換機並在指定端口上插入MAC地址。我使用Symfony作爲我的底層php框架。如何使用PHP5確定組播MAC地址?
如果我嘗試插入組播MAC地址作爲FastEthernet安全地址,CISCO交換機將拒絕該地址。所以我嘗試構建一個驗證器來確定給定的MAC地址是否爲多播地址。
有沒有人可以幫助我的片段或小費?
我正在使用PHP中的會計工具,它連接到CISCO交換機並在指定端口上插入MAC地址。我使用Symfony作爲我的底層php框架。如何使用PHP5確定組播MAC地址?
如果我嘗試插入組播MAC地址作爲FastEthernet安全地址,CISCO交換機將拒絕該地址。所以我嘗試構建一個驗證器來確定給定的MAC地址是否爲多播地址。
有沒有人可以幫助我的片段或小費?
試試這個片斷:
function isPhysicalAddress($address){
if (strlen($address) > 17) return 0;
if ($address == "") return 0;
if (!eregi("^[0-9A-Z]+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)$", $address)) return 0;
$arr=explode("-",$address);
if (strlen($arr[0]) != 2) return 0;
if (strlen($arr[1]) != 2) return 0;
if (strlen($arr[2]) != 2) return 0;
if (strlen($arr[3]) != 2) return 0;
if (strlen($arr[4]) != 2) return 0;
if (strlen($arr[5]) != 2) return 0;
return 1;
}
找到here。
對不起,但這不是我的問題的答案。我知道如何驗證MAC地址,但我不知道該地址是否是「多播」MAC地址。這只是一個簡單的正則表達式調用更復雜。 – hanspeter 2011-01-22 01:00:51