【问题标题】:PHP: read binary file containing UDP packetsPHP:读取包含UDP数据包的二进制文件
【发布时间】:2011-07-26 09:37:27
【问题描述】:

我有一个程序可以侦听其他程序发送的一些 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++]);

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

【问题讨论】:

    标签: php udp


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 2020-11-18
      • 1970-01-01
      相关资源
      最近更新 更多