PHP: чтение двоичного файла, содержащего пакеты UDP - PullRequest
0 голосов
/ 31 марта 2011

У меня есть программа, которая прослушивает некоторые пакеты 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 голосов
/ 31 марта 2011

Это действительно зависит от того, как программа сохраняет пакеты UDP в файл. Я предлагаю вам взглянуть на файл и сравнить его со значениями, которые вы ожидаете увидеть в UDP-пакете. Если вы не можете понять формат файла, который вы пытаетесь прочитать, вы не сможете написать программу для его анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...