Чтобы убедиться, что мое приложение отправляет туда и обратно с моим сервером правильно, я запустил

tcpdump -w ~/capture.txt -s 0 port 80

на сервере с промежуточным прокси, чтобы перехватывать все запросы. Это прекрасно работало, за исключением того, что мой браузер и сервер настроены на использование gzip при отправке данных. Теперь у меня есть файл capture.txt с кучей двоичных данных. Какой самый простой способ, которым я могу декодировать эти данные, чтобы убедиться, что мои вызовы API работают правильно?

Я пытался скопировать двоичные данные запросов в отдельный файл, а затем распаковывать их, но это не помогло ... Я просто хочу, чтобы самый простой способ увидеть текстовую версию того, что отправляется туда и обратно.

2 ответа2

0

К сожалению, я не думаю, что есть какие-либо команды, чтобы разархивировать только сжатые биты файла. Я думаю, вам нужно будет найти способ получить tcpdump для вывода на канал, который сжимается через gunzip перед тем, как поместить его в файл.

Кстати, почему бы вам не использовать что-то вроде curl http://server/api > apilog.txt? Или клиент мобильное устройство?

0

Теперь у меня есть файл capture.txt с кучей двоичных данных.

Или, вернее, у вас есть файл PCAP, с вводящим в заблуждение суффикс .txt ("вводящим в заблуждение" , потому что это не не текстовый файл - выход -w TCPDUMP никогда не бывает текстовый файл), который, по определению, является связка двоичных данных.

Это прекрасно работало, за исключением того, что мой браузер и сервер настроены на использование gzip при отправке данных.

Попробуйте загрузить файл pcap в Wireshark ; у него есть код, чтобы распаковать распакованные полезные данные.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .