Відповіді:
Я думаю, що те, що ви хочете замість 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 (формально відомий як ефірний).
-A
лише для тексту (без шістнадцяткового дампа):sudo tcpdump -A -s 0 'tcp dst port 80'
можливо скидання печива ? інакше - подивіться на 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
Зауважте, що це скидає багато даних. Вас попередили