Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
Извлечение файлов из перехваченного трафика
24 июня, 2014 by rius
Разное
Итак, вы перехватили трафик с помощью wireshark или tcpdump и хотите извлечь из него пересылаемый файл. Он может понадобиться, к примеру, для воспроизведения в тестовой системе поведения production системы.
Работать будем в wireshark.
Сначала нужно попробовать простой способ извлечения файла.
Команда меню: File – Export – Objects – HTTP. Появится список файлов, их можно сохранить на диск.
Если простой способ не сработал (что удивительно), например, файл передавался range ответами или вы просто любите сложности (какой вы хакер без ковыряния в байтовых потоках? :) ), то предлагаю продвинутый способ.
Тестовой страницей я взял , на ней есть видеоплеер с видеороликом. Ее я и запросил, а трафик перехватил.
Первая задача — найти нужный поток (stream). В этом помогут фильтры, например:
“http.host == www.host.com” для поиска пакетов с определенного хоста “http contains flv” для поиска пакетов с текстом “flv” “ip.src == 10.20.40.60 && http” для поиска HTTP пакетов с определенного IP |
Если фильтры не помогают, надо воспользоваться пунктом меню Statistics – Conversations. Она даст информацию о количестве байт, переданных в разных соединениях. В данном случае мы ищем ответ с видео, поэтому надо упорядочить записи по колонке “Bytes A<-B”.
Итак вы нашли нужный поток. Далее нужно выбрать “Follow TCP Stream”, вы получите в новом окне данные о запросе и ответе.
Выберите опцию Raw и сохраните в файл (Save as).
Файл надо открыть в hex редакторе. Я использую notepad++ c hex плагином. Надо удалить весь запрос и заголовки ответа включая символы CR LF CR LF (шестнадцатиричные 0D 0A 0D 0A).
Я делал через меню: Правка — Вырезать. Теперь сохраняем c расширением ”.flv” и пробуем проиграть в видеоплеере.
Если в потоке несколько пар запросов и ответов, то надо будет почистить и конец — удалить всё лишнее после извлекаемого файла.
Разное