1

您可以使用 wireshark 从 udp 数据包中复制字节数据。 线鲨

它会产生这样的数据

00f00:   21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83  !....../.@...7..
00f09:   21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83  !....../.@...7..
00f10:   2c b3 bd a2                                      ,...

如何使用php regex21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 2c b3 bd a2从该文本表中获取数组 ()中的所有字节?(从每一行到单个 php 字节数组,甚至更好地到string

我不仅需要解析wireshark数据(所以关于Bytes(Offset Hex)的建议不起作用)

4

1 回答 1

2

我认为一个简单的解决方案是将字符串操作与简单的正则表达式结合起来,如下所示:

$output = '';
foreach( explode( "\n", $input) as $line) {
    if( preg_match( '/(?:[a-f0-9]{2}\s){1,16}/i', $line, $matches)) {
        $output .= ' ' . $matches[0];
    }
}

$output = trim( $output);
var_dump( $output);

输出

string(109) "21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 2c b3 bd a2" 
于 2012-07-12T19:14:19.747 回答