2010-05-19 2 views
1

Tcpflow выводит кучу файлов, многие из которых являются ответами HTTP с веб-сервера. Внутри они содержат заголовки HTTP, включая Content-type: и другие важные. Я пытаюсь написать сценарий, который может извлекать только данные полезной нагрузки (т. Е. Image/jpeg; text/html; et al.) И сохранять его в файле [необязательно: с соответствующим именем и расширением файла].извлечение полезной нагрузки из вывода tcpflow

Символы EOL - это (CRLF), поэтому это затрудняет использование в дистрибутивах GNU (в моем опыте).

Я что-то вдоль линий попробовать:

sed /HTTP/,/^$/d 

Чтобы удалить весь текст из начала HTTP (вкл) до конца \ г \ п \ г \ п (вкл) но я не нашел удачи. Я ищу помощь у любого, у кого есть хороший опыт работы в sed и/или awk. У меня нет опыта работы с Perl, пожалуйста, я бы предпочел использовать общие утилиты командной строки GNU для этого

Здесь вы можете найти здесь выходной файл tcpflow. (плохая связь)

Спасибо,
Фелипе

ответ

2

This article рекомендует запускать foremost на выходе из tcpflow для извлечения изображений. Он доступен по этой ссылке и в репозиториях (по крайней мере) Debian, Fedora и Ubuntu.

Я пробовал его на образце, с которым вы связались, и, похоже, он работал нормально.

foremost -i tcpflow.out 

Он создал каталог под названием «Выход» с подкаталогами называемых «GIF» и «JPEG» с файлами в каждом. Однако имена файлов не совпадают с именами файлов в заголовках.

Для изменения окончаний строк ваших файлов сделать:

dos2unix filename 

или в трубе:

dos2unix < filename | nextcommand 

Другие интересные ссылки:

  • httpflow - разбирает tcpflow выход
  • tcpxtract - еще один файл е экстрактор
  • Forensic Tools for Unix - список инструментов с открытым исходным кодом
+0

всего, это отлично! Спасибо за советы. –

Смежные вопросы