Shell 从tcpflow输出中提取有效负载
Tcpflow输出一组文件,其中许多是来自web服务器的HTTP响应。在内部,它们包含HTTP头,包括内容类型:,以及其他重要的头。我正在尝试编写一个脚本,它可以只提取有效负载数据(即image/jpeg;text/html;等等),并将其保存到一个文件中[可选:具有适当的名称和文件扩展名] EOL字符是\r\n(CRLF),因此在GNU发行版中很难使用(以我的经验) 我一直在尝试以下几点:Shell 从tcpflow输出中提取有效负载,shell,http-headers,packet-capture,Shell,Http Headers,Packet Capture,Tcpflow输出一组文件,其中许多是来自web服务器的HTTP响应。在内部,它们包含HTTP头,包括内容类型:,以及其他重要的头。我正在尝试编写一个脚本,它可以只提取有效负载数据(即image/jpeg;text/html;等等),并将其保存到一个文件中[可选:具有适当的名称和文件扩展名] EOL字符是\r\n(CRLF),因此在GNU发行版中很难使用(以我的经验) 我一直在尝试以下几点: sed /HTTP/,/^$/d 删除从HTTP(incl)开头到\r\n\r\n(incl)结尾
sed /HTTP/,/^$/d
删除从HTTP(incl)开头到\r\n\r\n(incl)结尾的所有文本,但我没有发现运气。我正在寻求在sed
和/或awk
方面有丰富经验的人的帮助。我没有Perl方面的经验,我更喜欢使用通用的GNU命令行实用程序
在这里找到一个示例tcpflow输出文件。(坏链接)
谢谢,Felipe建议运行
tcpflow
的输出来提取图像。它可以在这个链接上找到,也可以在(至少)Debian、Fedora和Ubuntu的存储库中找到
我在你链接到的示例文件上试过了,似乎效果不错
foremost -i tcpflow.out
它创建了一个名为“output”的目录,其中包含名为“gif”和“jpeg”的子目录,每个子目录中都有文件。但是,文件名与标题中的文件名不匹配
要更改文件的行尾,请执行以下操作:
dos2unix filename
或在管道中:
dos2unix < filename | nextcommand
dos2unix
其他相关链接:
- -解析tcpflow输出
- -另一个文件提取器
- -开放源代码工具列表