• 如何使用wireShark的追踪流功能抓取并还原文件


    简介

    • WireShark的追踪流功能可以帮我们抓取从网络上下载的各种文件,接下来就演示下如何抓取并且进行还原。

    使用Nginx搭建文件存储服务器

    • 只要是通过http网站下载的包,都可以通过追踪流工具进行抓取。这里为了演示,临时搭建一个Nginx文件存储服务器。
    • 首先我们准备一台Nginx服务器,把默认配置改成这个。这个时候,我们访问对应端口,就不展示网页了,就会展示download目录下的文件。download目录需要我们自己在 /usr/local/nginx下创建,然后把文件放到这个目录下就可以了。download名字可以随便起,只要和配置文件中保持一致就可以。
    •   server {
            listen 10088;
            server_name localhost;
      
            location / {
                    root download;
                    autoindex on;
                    autoindex_exact_size off;
            }
        }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
    • 我上传了一个notepad++安装包和一个证书文件,看下效果。我们访问对应端口,就会展示Nginx服务器上存储的文件。
      在这里插入图片描述

    抓取数据包

    • 打开wireShark进行抓取,然后点击安装包,就会自动下载。下载完成后,我们就可以进行分析了。我们直接用http进行过滤。
      在这里插入图片描述
    • 点击客户端发起的第一个GET请求,右键,选择追踪流->TCP流
      在这里插入图片描述
    • 然后就会显示下载文件的所有交互数据流
      在这里插入图片描述
    • 选择底部的Show data as 为 原始数据,然后将数据存储到文件中。
      在这里插入图片描述

    还原数据

    • 打开刚才的文件。可以看到,上面是http请求头的一些信息,删除掉,我们保留数据域部分就可以。exe文件默认是MZ开头的,我们只需要将MZ前面的数据全部删除掉后保存文件,然后将文件后缀名命名为exe即可。
      在这里插入图片描述
    • 这个时候就已经还原成功了,可以直接双击这个文件运行。
      在这里插入图片描述

    使用二进制编辑器还原数据

    • 为了防止误删数据信息,或者我们不知道文件数据的开头是什么,所以最好用二进制编辑器打开我们刚才保存的数据流文件。我使用的是UltraEdit。
      在这里插入图片描述
    • 一般http请求头与数据域部分会用两个回车进行分割,十六进制是 0D 0A 0D 0A 进行表示。找到0D 0A 0D 0A , 直接把包括0D 0A 0D 0A在内的上面的所有请求头信息删除或剪贴掉,然后重新保存文件,也能还原文件。
  • 相关阅读:
    DDOS原理以及解决方案!
    C#图解教程总结(第二章)
    Java之juc旅途-atomic(五)
    java学习(常用类)
    第6章 - 多无人车系统的协同控制 --> 无人车运动原理
    [自制操作系统] 第18回 实现用户进程(上)
    Vatti clipping 算法介绍
    总结线程池
    31省政府数字关注度121个关键词(2001-2021年)
    Java面试题:让依赖注入变得简单,面对@Autowired和@Resource,该如何选择?
  • 原文地址:https://blog.csdn.net/new9232/article/details/130900212