wireshark跟踪数据
以下内容主要是引⽤⾃合天⽹安中的⼀个实验案例:⿊客A通过ARP欺骗,使⽤Wireshark获取了整个局域⽹内的⽹络流量信息。⽆意之中,他发现有⼈在某个⽹站上上传了⼀份⽂件。但是他不知道怎么样通过Wireshark去还原这份⽂件,没办法,他将监听到的数据包保存为了⼀份Wireshark的监听记录,打算去向你请教。你能帮助他到那份上传的⽂件吗?
我们可以⾃⼰准备⼀张图⽚test.jpg,并随便⼀个允许上传的⽹站,然后⽤Wireshark将上传的过程抓包,这⾥我已经将⾃⼰的抓包结果保存成⽂件catchme.pcapng,并在附件⾥提供下载。
打开抓包⽂件之后,会发现数据记录⼀共有344条。如果单纯的从开始到结尾去⼀条⼀条的审计,是⾮常费⼒的事情。
这⾥我们使⽤显⽰过滤器进⾏过滤,由于上传⽂件采⽤的是HTTP协议,因⽽使⽤过滤规则“http”,过滤之后发现数据包由原来的344个变成了137个,这样就很容易帮我们分析了。仔细分析,我们会在第209条数据包的info中看到upload这个词,我们怀疑这条就是涉及到上传的数据包。
由于上传⽂件都是采⽤POST⽅法,因⽽我们也可以使⽤过滤规则“hod==POST”进⾏更精确的过滤,这时就只有47个数据包了。因⽽掌握数据包过滤,是熟练掌握Wireshark的必备技能之⼀。
虽然我们看到了有upload关键字,有POST⽅法,但是我们不能确定是不是真的就是上传⽂件的那个请求。双击第209号数据包进⾏专门分析,在应⽤层数据中可以看到确实是上传了⽂件,⽽且⽂件名是test.jpg。
在传输层部分可以看到,由于⽂件⽐较⼤,TCP协议将其分成了16个数据段Segment,每个数据段都是⼀个独⽴的数据包,点击各个Frame,就可以看到数据包中的内容。
但问题是每个数据包中都只包含了上传⽂件的⼀部分,要想还原上传的⽂件,就必须将这些被分⽚的数据包重新组合成⼀个整体。在Wireshark中提供了⼀项“数据流追踪”功能,就可以来完成这项任务。
回到Wireshark的主界⾯,在209号数据包上点击右键,选择“追踪流/TCP流”,
这时整个TCP流就会在⼀个单独的窗⼝中显⽰出来,我们注意到这个窗⼝中的⽂件以两种颜⾊显⽰,其中红⾊⽤来标明从源地址前往⽬的地址的流量,⽽蓝⾊⽤来区分出相反⽅向也就是从⽬的地址到源地址的流量。这⾥颜⾊的标记以哪⽅先开始通信为准,⼀般情况下都是由客户端主动发起与服务器的连接,所以⼤都是将客户端的通信显⽰为红⾊。
由于上传的⽂件都是在客户端发出的数据部分提交的,因⽽我们可以过滤掉服务器发回的响应信息。在下⽅的数据流向中选择从客户端到服务器的流向,这时候就没有响应部分出现了。
怎么显示文件的扩展名
将数据流保存成原始⽂件,以便下⼀步处理。需要注意的是,在保存之前⼀定要将数据的显⽰格式设置为“原始数据”。
这⾥将⽂件的扩展名指定为.bin,以使⽤⼆进制形式保存⽂件。