Интересует опция временных меток, отправляемая в ip пакете. Можно ли каким то образом получить эти метки средствами php ? Попробовал curl_getinfo($ch) но не один из 26 параметров не похож на timespan временной метки т.к. они представляют собой количество миллисекунд от полуночи по UTC. Ничего подобного в возвращаемой информации нет, если есть ткните.
Информация нужна для анализа загруженности сети, в идеале хорошо бы увидеть время в миллисекундах когда пакет был отправлен от сервера к клиенту. Если есть другие способы подобное реализовать, то прошу ткнуть в мануал.
UPD Добавил С++ т.к. интерпретатор php написан на плюсах. Может есть способ получить опции пакета при помощи программы C++.
Прямо из cURL такие данные посмотреть нельзя, но можно посмотреть со стороны с помощью обычных программ для просмотра трафика. Например, tshark, который, как и PHP, написан на C, если это почему-то важно. Если нужно чтобы программа была строго на C++, то такие тоже можно поискать. Будут ли они решать задачу также ясно и просто - вопрос открытый.
Запускаете прямо из PHP с помощью exec или proc_open, но лучше сначала потренироваться в консоли:
tshark -p -c 10 -e tcp.options.timestamp.tsval -e tcp.options.timestamp.tsecr -Tjson -Y 'tcp.option_kind == 8'
Получаете из стандартного выхода красивый JSON со всеми нужными значениями:
[
{
"_index": "packets-01001",
"_type": "pcap_file",
"_score": null,
"_source": {
"layers": {
"tcp.options.timestamp.tsval": ["2386387284"],
"tcp.options.timestamp.tsecr": ["1871759056"]
}
}
}
,
{ ....
Если нужна временная метка, можно добавить -e frame.time. Если нужно отобрать только входящие пакеты, только с определёнными свойствами, то фильтр легко составить по образцам пакетов в GUI Wireshark.
Наверное снимать такие метрики лучше в фоне, из crontab - сама процедура может занимать ощутимое время. Например, можно запускать саму команду выше с записью в файл, и через минуту запускать скрипт который этот файл будет читать и разбирать.
Чтобы использовать tshark без прав root кроме обычного шага при установке нужно добавить себя в группу wireshark. В общем случае для запуска этих команд не нужно sudo.
Прямо из cURL такие данные посмотреть нельзя.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости