Ответы:
Я думаю, что вместо Apache вы можете использовать анализатор пакетов , также известный как анализатор пакетов. Двумя наиболее популярными из них являются, вероятно, TCPDump и Wireshark , которые бесплатны и имеют версии для операционных систем Windows и * nix. Они покажут вам весь трафик, поступающий через интерфейс, а не только то, что видит Apache. Но вы можете использовать фильтры для ограничения указанным портом, например, 80 для http.
tcpdump:
следующая команда, запущенная с сервера, покажет вам все пакеты, предназначенные для порта 80:
sudo tcpdump -s 0 -X 'tcp dst port 80'
Переключатель с большой буквы X выводит полезную нагрузку в шестнадцатеричном и ASCII-формате. Переключатель s с 0 означает получение всего пакета. «tcp dst port 80» означает фильтровать и показывать только пакеты, предназначенные для порта 80, в заголовке tcp.
Wireshark:
для более удобной для пользователя версии, если у вас работает графический интерфейс, рассмотрите wireshark (формально известный как ethereal).
-A
только для текста (без шестнадцатеричного дампа):sudo tcpdump -A -s 0 'tcp dst port 80'
может быть сброс файлов cookie ? в противном случае - посмотрите на mod_dumpio .
Базовое прослушивание пакетов легко с ngrep, гибридом tcpdump и grep. В некоторых случаях, если вы хотите увидеть, как веб-браузеры взаимодействуют с веб-серверами, и проверить заголовки HTTP.
В этом примере запустите ngrep на веб-сервере следующим образом:
$ ngrep port 80
Вы также можете отфильтровать запрос http к запросу «GET /» на порт 80 следующим образом:
$ ngrep -q '^GET .* HTTP/1.[01]'
На стороне клиента есть полезный инструмент, который называется Tamper Data. Это расширение Firefox, которое дает вам возможность просматривать, записывать и даже изменять исходящие HTTP-запросы.
Вы можете найти больше информации здесь
Вместо использования tcpdump или wireshark используйте tcpflow. Это капля замены tcpdump, но создает файл для каждой стороны каждого соединения, поэтому вам не нужно пытаться декодировать поток самостоятельно.
Apache имеет эту встроенную функциональность; просто увеличьте уровень журнала до trace7
или trace8
:
LogLevel trace8
Обратите внимание, что это сбросит много данных. Вы были предупреждены.