2011-01-20 11 views
1

私はCISCOスイッチに接続し、指定されたポートにMACアドレスを挿入するPHPのアカウンティングツールに取り組んでいます。 symfonyを私の基になるPHPフレームワークとして使用します。PHP5でマルチキャストMACアドレスを特定する方法は?

FastEthernetセキュアアドレスとしてマルチキャストMACアドレスを挿入しようとすると、CISCOスイッチはアドレスを拒否します。だから、私は与えられたMACアドレスがマルチキャストアドレスかどうかを判断するバリデーターを構築しようとします。

スニペットやヒントを教えてくれる人がいますか?

答えて

0

はこのスニペットを試してみてください:

here見つかり
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; 
} 

+0

申し訳ありませんがダーメン、これは私の質問への答えではありません。私はMACアドレスを検証する方法を知っていますが、このアドレスが「マルチキャスト」MACアドレスであるかどうかはわかりません。これは単純な正規表現呼び出しを持つだけではるかに複雑です。 – hanspeter

関連する問題