Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 从tcpflow输出中提取有效负载_Shell_Http Headers_Packet Capture - Fatal编程技术网

Shell 从tcpflow输出中提取有效负载

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)结尾

Tcpflow输出一组文件,其中许多是来自web服务器的HTTP响应。在内部,它们包含HTTP头,包括内容类型:,以及其他重要的头。我正在尝试编写一个脚本,它可以只提取有效负载数据(即image/jpeg;text/html;等等),并将其保存到一个文件中[可选:具有适当的名称和文件扩展名]

EOL字符是\r\n(CRLF),因此在GNU发行版中很难使用(以我的经验)

我一直在尝试以下几点:

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输出
  • -另一个文件提取器
  • -开放源代码工具列表