1

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

マルチキャスト MAC アドレスを FastEthernet セキュア アドレスとして挿入しようとすると、CISCO スイッチがアドレスを拒否します。そこで、指定された MAC アドレスがマルチキャスト アドレスかどうかを判断するバリデーターを構築しようとしました。

スニペットやヒントで私を助けてくれる人はいますか?

4

1 に答える 1

0

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

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;
}

ここにあります

于 2011-01-21T03:34:16.883 に答える