alibek Опубликовано 22 июня, 2019 · Жалоба Иногда нужно просмотреть взаимодействие между клиентом и сервером на уровне протокола, увидеть сырые передаваемые и принимаемые данные. Посоветуйте, чем это можно сделать? tcpdump подходит далеко не всегда — во-первых речь часто идет о vhost и не всегда интересующего клиента можно посадить на выделенный IP, а во-вторых порой нужно бывает посмотреть внутрь https. Проксирование тоже не так уж просто и удобно бывает использовать, особенно если нужно проксировать https. В Apache можно настроить логгирование: SetEnv flag-debug LogFormat "* %{%FT%T}t%{%z}t %Dus %h %H %f\n\t%m %U%q (len %I, \"%{Accept}i\")\n\tHost: %{Host}i\n\tReferer: %{Referer}i\n\tUA: %{User-Agent}i\n\tOther: MAC \"%{Mac-Address}i\"\n\tResponse: %X #%>s (len %O, \"%{Content-Type}o\")\n" debug CustomLog "${APACHE_VHOST_DIR}/log/debug.log" debug env=flag-debug В какой-то степени это помогает, но не всегда заранее известно, какие данные нужно логгировать. Идеальным для меня было бы сохранять в лог полный набор заголовков http-запроса (опционально с телом запроса) и полный набор заголовков http-ответа (также опционально с телом ответа). Еще в Apache есть модуль log_forensic. Он сохраняет полный набор заголовков, но только для запросов и в неудобном формате. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
naves Опубликовано 22 июня, 2019 · Жалоба Если нет шифрования, можно использовать tshark в режиме сохранения в json-файл, который потом грузить в elasticsearch Либо переделывать https на отдельный прокси и перехватывать трафик между. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 22 июня, 2019 · Жалоба А сам апач нельзя научить сохранять запросы/ответы как есть? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pavel.odintsov Опубликовано 22 июня, 2019 · Жалоба Nginx умеет сохранять много-много информации из запроса. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snvoronkov Опубликовано 23 июня, 2019 · Жалоба 10 часов назад, alibek сказал: А сам апач нельзя научить сохранять запросы/ответы как есть? Post-запросы сохранять? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 23 июня, 2019 · Жалоба И сами запросы, и ответы, и их заголовки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 23 июня, 2019 · Жалоба В 22.06.2019 в 13:29, alibek сказал: Иногда нужно просмотреть взаимодействие между клиентом и сервером на уровне протокола, увидеть сырые передаваемые и принимаемые данные. Консоль браузера тебе в помощь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 23 июня, 2019 · Жалоба А причем тут браузер? Вся сложность в том, когда клиентами являются устройства. И не всегда в контролируемой сети. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ixi Опубликовано 24 июня, 2019 · Жалоба modsecurity умеет сохранять запросы и ответы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 24 июня, 2019 · Жалоба Спасибо, почитаю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...