Прочитать порядковый номер сокета TCP с помощью API, доступных в PHP? - PullRequest
0 голосов
/ 17 декабря 2011

Позволяет ли какой-либо из доступных в PHP API-интерфейсов читать из сокета TCP текущий порядковый номер конечного автомата TCP?

1 Ответ

1 голос
/ 17 декабря 2011

(AFAIK) Нет.

Для этого потребуется доступ к заголовку TCP, который не предоставит ни одно из расширений на основе сокетов ( сокеты или потоки )доступ к.

SOCK_STREAM обеспечивает только полезную нагрузку данных, но не позволяет (опять-таки, AFAIK) получать какую-либо информацию о низкоуровневых внутренних обработках потока, поскольку теоретически вам не следуетнужно беспокоиться об этом.

Возможно (?) реализовать поток TCP с использованием SOCK_RAW, в этом случае возможно получить доступ кэта информация, но я даже на 100% не уверен в этом, и вы можете быть уверены, что даже если это так, это не стоило бы беспокоиться.

Сказав все это - в зависимости от того, насколько хорошоваши навыки кодирования более низкого уровня, вы можете создать расширение PHP для взаимодействия с libpcap .Вы также могли бы быть в состоянии что-то сделать с помощью exec() ing tcpdump , если это доступно в хост-системе - хотя в равной степени я сомневаюсь в этом, я подозреваю этобыло бы очень трудно, если бы даже было возможно реализовать на языке, который не поддерживает многопоточность.Любой из этих вариантов потребует проверки полезных нагрузок пакетов и сравнения их с тем, что вы отправили из PHP, для синхронизации данных с номерами SEQ.

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