Мое приложение отправляет HTTP-запросы на какой-либо сервер, и я хочу видеть фактические данные, которые оно отправляет. Некоторые особенности, которые я хотел бы увидеть:
- Метод запроса (GET / POST / PUT и т. Д.)
- Тип содержимого
- тело
Какой самый лучший и простой способ сделать это?
networking
Мегас
источник
источник
Ответы:
Ну, для всех тех поклонников tcpdump =)
ВЫПОЛНЯЙТЕ ВСЕ ЭТИ КОМАНДЫ КАК КОРНИ !!!
Получить root в терминале с
Для захвата пакетов RAW ...
Это будет захватывать все необработанные пакеты на всех портах, на всех интерфейсах и записывать их в файл
/tmp/http.log
.Запустите ваше приложение. Очевидно, это помогает, если вы не запускаете никаких других приложений, которые используют HTTP (веб-браузеры).
Убийство
tcpdump
Чтобы прочитать журнал, используйте
-A
флаг и направьте вывод вless
:В
-A
флаг распечатывает «полезной нагрузки» или ASCII текста в пакетах. Это отправит вывод наless
, вы можете пролистать страницы вверх и вниз. Для выходаless
наберите Q.Когда я иду в Google, я вижу (в сырых пакетах):
tcpdump
имеет длинный набор опций для уточнения сбора данных, от указания сетевых интерфейсов до портов на IP-адреса источника и назначения. Он не может расшифровать (поэтому он не будет работать с HTTPS).Как только вы знаете, что вас интересует, вы можете использовать ряд опций
tcpdump
для записи только данных, представляющих интерес. Общая стратегия состоит в том, чтобы сначала записать все пакеты, просмотреть необработанные данные, а затем захватить только пакеты, представляющие интерес.Некоторые полезные флаги (опции):
Существует кривая обучения как использованию, так
tcpdump
и обучению анализу собираемых вами данных. Для дальнейшего чтения я настоятельно рекомендую учебник Дэниэла Мисслераtcpdump
с примерами .источник
0 packets captured 0 packets received by filter 0 packets dropped by kernel
но я открыл несколько сайтов в браузере Chrome, когда tcpdump отслеживал.tcpdump -i any -w /tmp/http.log &
работал.Сначала установите
tcpflow
из официальных репозиториев Ubuntu:Затем выполните эту команду для проверки всех HTTP-запросов на стандартном порту:
источник
Я бы посоветовал вам попробовать Wireshark
Обратите внимание, что Wireshark довольно продвинутый, поэтому может потребоваться немного привыкнуть. Я не использовал его в течение нескольких лет, но он все еще должен быть идеальным для того, что вы ищете - если не слишком много функций.
Информацию о Wireshark и о том, как ее использовать, можно найти на домашней странице Wireshark .
источник
Также возможно с командой, которая дает аккуратный вывод, даже для SSL:
источник