1

wiresharkを使用してudpパケットからバイトデータをコピーできます。 Wireshark

そしてそれはこのようなデータを生成します

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配列に、またはさらに良いのは文字列に)

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 に答える