2011-03-30 228 views
0

我有一个程序,用于监听由其他程序发送的一些udp数据包并将其保存到文件中。我需要在php中创建一个解析器,以准备好从正在收听的其他程序捕获的信息。PHP:读取包含UDP数据包的二进制文件

我试图使用un_pack来获取UDP头,从中我可以得到的内容,但端口和长度标头不匹配程序给我的当前日志,所以我认为我在做有问题。我对这类东西有点新鲜,但是波纹管是我正在做的事情。

$i = 0; 

$sourceport = unpack("S", $content[$i++].$content[$i++]); 
$targetport = unpack("S", $content[$i++].$content[$i++]); 
$length = unpack("S", $content[$i++].$content[$i++]); 
$checksum = unpack("S", $content[$i++].$content[$i++]); 

哦,还有一两件事,我真的不知道如何分析数据,将它只是在纯文本或我需要做别的事情呢?

回答

0

这实际上取决于程序如何将UDP数据包保存到文件。我建议你看一下这个文件,并将它与你期望在UDP数据包中看到的值进行比较。如果您无法理解您正在尝试阅读的文件的格式,那么您将无法编写解析该文件的程序。

相关问题