Casi
. Fíjate, leyendo tu expresión regular, sería 0{8} (?:0[1-9a-f]|[1-9a-f]0|[1-9a-f]{2}) ([\da-f]+) (?:0[1-9a-f]|[1-9a-f]0|[1-9a-f]{2}) 0{8}:
Código:
00 00 00 00 XX (grupo de caracteres hexadecimales cualquiera) XX 00 00 00 00
¿Qué falta? 2 XX en ambos lados, además, lo que está dentro del grupo no filtra si sólo hay 00 u otra cosa.