1. 通过Wireshark网络取证

Wireshark既然可以解析网络中的各种数据流量,那么通过网络传输协议,例如ftp协议传输的文件数据wireshark也可以对其解析,本质上FTP协议是基于传输层TCP协议的,一个完整的文件会分割为多个tcp数据包传输(这些TCP数据包被称为TCP流),wireshark工具提供了一个“流跟踪(TCP Stream)”功能可以分析TCP流。

 

这个功能在我们需要使用wiresahrk分析某些网络流量进行取证的时候可以发挥很大的作用,wireshark可以通过“流跟踪(TCP Stream)”功能捕获完整会话的通信流量或文件数据。

 

2. 使用wireshark分析传输的文件数据

 

接下来我们就通过wireshark来分析一个文件数据,使用wireshark打开http_with_jpegs.cap.gz文件:

Wireshark 分析会话 wireshark如何分析_网络协议

 

 

 

当我们要分析某个数据包的整个会话过程的话,就可以选中某个数据包右键选择:追踪流 --> TCP流,如下所示:

Wireshark 分析会话 wireshark如何分析_http_02

 

 

 

以67数据包为例,如下图所示:

Wireshark 分析会话 wireshark如何分析_网络协议_03

GET /Websidan/images/sydney.jpg HTTP/1.1整个会话中,是以GET方式请求一个sydney.jpg的图片文件,最上面的一部分表示HTTP请求部分,中间部分表示HTTP响应部分,最下面的则是HTTP请求的sydney.jpg文件的二进制原始数据。

 

 

然后对整个会话进行过滤,只保留http响应部分和sydney.bin文件的原始数据,然后另存为sydney.bin文件:

Wireshark 分析会话 wireshark如何分析_wireshark_04

 

 

使用winhex工具打开sydney.bin文件来分析文件的原始数据,选择:File --> Open,如下所示:

Wireshark 分析会话 wireshark如何分析_网络协议_05

sydney.bin文件中的十六进制数据包含了http头部和文件的原始数据,需要删除http响应头部的数据,我们知道的一点就是http响应头部和文件的原始数据中间存在一个空行,也就是说有两个回车换行符,而回车换行符对应的ASCII码就是13和10,转换成十六进制就是0x0a和0x0d,在这之后就是文件真正的原始数据了。

 

 

下图中被选中的部分就是HTTP响应头部和两个回车换行符了,只需把选中的部分数据删除即可:

Wireshark 分析会话 wireshark如何分析_信息安全_06

 

 

 

删除之后,把文件另存为.jpeg格式的文件数据,如下所示:

Wireshark 分析会话 wireshark如何分析_Wireshark 分析会话_07

 

 

最后打开sydney.jpeg图片文件:

Wireshark 分析会话 wireshark如何分析_wireshark_08

最终sydney.jpeg文件被我们通过wireshark还原出来了,这个实验完成。