PHP:读取包含UDP数据包的二进制文件

时间:2011-03-30 20:23:15

标签: php udp

我有一个程序,它监听其他程序发送的一些udp数据包并将其保存到文件中。我需要在php中创建一个解析器来准备从正在监听的其他程序中捕获的信息。

我正在尝试使用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++]);

哦,还有一件事,我真的不知道如何解析数据,它只是用纯文本还是我需要用它来做其他事情?

1 个答案:

答案 0 :(得分:0)

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