Часто разработчику требуется видеть весь обмен трафиком между клиентом и сервером, не только заголовки HTTP, но и тело запроса и ответа. Я довольно долго разыскивал подходящий инструмент для этих целей. Но оказалось, что удобнее всего пользоваться не какими-то плагинами для браузера, а простейшим прокси и перехватом трафика с помощью tcpdump.
Выглядит это так:
1. В браузере прописываем использование прокси по адресу 127.0.0.1 порт 5678
2. В терминале открываем сессию ssh с локальным порт-форвардингом (можно и со сжатием трафика), например так:
$ ssh -C -D 5678 username@myhost.com
3. В другом терминале запускаем tcpdump и слушаем трафик на интерфейсе lo порт 5678:
# tcpdump -vvv -s0 ‘port 5678′ -w “/home/username/http.pcap” -i lo
Далее в браузере выполняем необходимые действия, после чего останавливаем tcpdump. Смотреть записанный трафик лучше всего с помощью strings:
$ strings /home/username/http.pcap
Иногда в выводе может быть немного мусора из-за keepalive запросов, но в целом видно все, что требовалось узнать.