Мне нравится, как Wireshark разбивает каждый пакет по разделу протокола, объясняя, для чего предназначен каждый отдельный бит и байт. Что мне также понравилось бы, так это программа, которая делает то же самое для обычных файлов: показывает шестнадцатеричный дамп каждого файла и идентифицирует заголовки, разделы данных и т.д. И то, что они делают. Например, он будет знать формат JPG, GIF, PNG, документы Word, EXIF-сегменты фотографий и т.д. Есть ли такая вещь?
3 ответа
Ну, файлы на самом деле можно узнать по «магическим числам» или по определенным последовательностям заголовков файлов В Unix есть встроенный инструмент под названием file. Кроме того, есть инструмент под названием Trid, который делает то же самое.
В вики- журнале есть статья, в которой перечислено довольно много других инструментов, которые вы могли бы использовать, если они потерпят неудачу.
Нет, но это звучит как отличный проект с открытым исходным кодом, чтобы начать.
Проблема заключается в том, что wireshark может это сделать, потому что протоколы не сильно меняются (они не могут; приложения не смогут поддерживать и взаимодействие не будет). Это не относится к форматам файлов, которые имеют раздражающую тенденцию меняться чаще.
Вы должны проверить команду «file» (если вы еще этого не сделали), которая хорошо идентифицирует файлы. Затем вы можете добавить некоторые программы, такие как Identify из пакета ImageMagick, которые могут помочь вам разбить файлы.
Но затем вы быстро поймете, что каждая отдельная библиотека должна быть загружена, потому что файлы огромны и сложны, и их непросто разбить в первую очередь (в отличие от пакетов). В этом вся причина того, что приложения настолько велики! Чтобы манипулировать этими грязными файлами!
В проекте Wireshark была задумана идея создания "filehark", который будет той программой, о которой вы говорите; некоторые диссекторы полезной нагрузки, такие как диссекторы JPEG и GIF, в Wireshark являются диссекторами файлового формата.
Тем не менее, есть некоторые проблемы, которые еще не решены; ранняя попытка filehark в базе кода Wireshark была прекращена.