我喜欢 Wireshark 按协议部分分解每个数据包的方式,解释每个位和字节的用途。我还希望有一个程序可以对常规文件执行相同的操作:显示每个文件的十六进制转储并识别标头、数据部分等以及它们的作用。例如,它会知道 JPG、GIF、PNG、word 文档、照片的 EXIF 段等的格式。有这样的程序吗?
答案1
答案2
不,但这听起来像是一个很好的开始的开源项目。
问题在于,wireshark 之所以能够做到这一点,是因为协议变化不大(协议不能变化;应用程序无法跟上变化,互操作性也无法实现)。然而,文件格式却并非如此,文件格式的变化频率非常频繁,这令人烦恼。
您应该查看“file”命令(如果您还没有),它可以很好地识别文件。然后,您可以从 ImageMagick 套件中引入一些程序,例如可帮助您分解文件的识别程序。
但随后你很快就会意识到,必须引入每个库,因为文件非常庞大且复杂,而且一开始就不容易分解(不像数据包)。这就是应用程序如此庞大的原因!为了操作那些讨厌的文件!
答案3
在 Wireshark 项目中,人们曾考虑创建一个“fileshark”,它就是您所谈论的那种程序;Wireshark 中的一些有效载荷解析器,例如 JPEG 和 GIF 解析器,是文件格式解析器。
然而,有些问题尚未解决;Wireshark 代码库中对 fileshark 的早期尝试已被放弃。