Интересует опция временных меток
, отправляемая в 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 такие данные посмотреть нельзя.
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть два класса, второй из них хранит в себе вектор, с указателями на объекты первого классаКак во втором классе через итератор обращаться...
Я создаю кучу спрайтов и загружаю картинки в текстуры вот так
Задача такова: Существует консольное приложение, осуществляющее некоторое действие (в частности: копирование файла с сохранением времени...
Имею такую матрицу vector<vector<float>> matrix n-го размеракаким образом ее передать через сокеты на сервер