通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)

工具:wireshark(抓包工具),010editor(十六进制编辑器),7Z(解压缩软件)

场景描述:最近在做一个终端调用(post)平台端的接口(url)来上传文件的功能,主要用的是libcurl。为了验证服务器收到的数据是否是正确的,使用了wireshark抓包并进行文件还原,现将方法记录一下。

1.单一文本文件的查看和还原

上传的文件格式很简单,一个文本文件。抓包后,找到调用接口的那行双击 ,如下图

 然后在wireshark的菜单栏选择Analyze--->Follow TCP Stream 进行数据流的查看

通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)_第1张图片

文件分隔符后的就是真正的文本内容。

2.压缩文件的查看和还原

前面的步骤一样 只是在查看数据流这里并不能得到一个我们一眼就能明白的数据,需要进行处理。

  1. 在你分析这个流的时候 直接打开看到的就是一段貌似乱码的东西。然后选择你要查看的发送和接收方,以原始数据(raw)来另存为.tar.gz 文件,操作如下图。

通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)_第2张图片

2.使用010editor 十六进制编辑器来打开这个.tar.gz的文件。这种压缩格式的文件开头是1F8B,找到这个删除之前的全部内容,该文件后有boundary分隔符,将这部分删去,即掐头去尾留下来的就是真正的数据。

通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)_第3张图片

通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)_第4张图片

尾部删除到那里呢?在刚打开流分析的时候,可以下拉查看那一堆数据,在最后可以看到结束的字符,依然以一个boundary分隔符来区分。(上面这个图标错了, “z”后面应该是“..”两个点,看下面的图)

通过wireshark 抓包处理tcp流 来 还原文本文件以及gizp(tar.gz)_第5张图片

 

3.到这里数据已经处理完了,再保存为.tar.gz文件 使用压缩软件解压缩就可以得到真正传送的数据了。

 

你可能感兴趣的:(杂项)