前言:

在前面的实验里我们进行了JSunpack-n的安装及其简单使用。JSunpack-n还有另外一些功能须要进行測试试验,由于本人也是刚接触这些东西。本文就当中一个“功能点”进行实验。

这里并不保证JSunpack-n一定要具有实验的关键功能点,仅仅是使用实验证实此功能点是否存在。

版权说明

本文原文发表于CSDN博客平台。请转载者在文章对应位置。注明与本文版权相关的内容!!。
本文链接:http://blog.csdn.net/lemon_tree12138/article/details/50727135Coding-Naga 
                                    — 转载请注明出处

实验环境:

Windows相关

  • Windows 7
  • WireShark

Linux相关

  • Ubuntu 14.04 LTS桌面版
  • Python 2.7.6
  • TCPDump
  • JSunpack-n

实验參考:

《恶意软件分析诀窍与工具箱》 12.2.1 从捕获的数据包中隔离加密数据

实验步骤:

一、使用WireShark捕获文件传输步骤

1. 选择一款邮箱(这里採用163),用于邮件发送。

2. 编写一份用于发送的文件。这里的编写的发送文件为《Upload Test》,内容为:
     Just a test for upload.

3. 打开安装完毕的WireShark,并设置过滤參数为http。

例如以下:

4. 当上传并发送上述文件内容后,可获得例如以下的流量捕获结果:

5. 选择。上面被框中的内容,能够看到HTTP协议中有例如以下内容:

6. 从上面的截图中能够获得了文件的名称:Upload Test.txt和文件的长度23个字节。

7. 再检查Media Type内容,从这里能够看到已经捕获到了文件内容:

二、使用TCPDump捕获文件传输步骤

1. 依照前面文档中所介绍的方法正确安装JSunpack-n

2. 新建一个測试文件。用于文件上传使用。文件名及内容例如以下:

3. 打开TCPDump,并进行网络流量监听。

命令例如以下:
     $ sudo tcpdump -i eth0 -w 163.pcap

4. 从Ubuntu的桌面浏览器进入163邮箱。并加入以上測试文件到附件。然后发送邮件

5. 待邮件发送成功后,断开TCPDump的监听工作。使用JSunpack-n进行分析抓包内容。

命令例如以下:
     $ python jsunpackn.py xxx/163.pcap -s -J -v

6. 下面为分析结果的部分截图:

7. 查看JSunpack-n分析的结果文件,进入./temp/files。使用下面命令分析:
     $ file *

8. 上面的分析结果例如以下所看到的:
     
     能够看到这些被截获的文件原本的格式类型。

9. 使用WinSCP将这些文件下载到本地。并以对应格式进行重命名,例如以下:

10. 从上面的这些文件里,并未找到有关于測试文件内容的字节。

仅仅是在文件stream_15a5b6dcb804326549627e8a0c3f528dc04a3587中发现了測试文件的文件名。stream_15a5b6dcb804326549627e8a0c3f528dc04a3587文件的内容例如以下:
    {'code':'S_OK','type':0,'var':{'attachmentId':1,'fileName':'test_upload.txt','contentType':'text\/plain','size':30,'actualSize':30}}

11. 为了实验的可信度。这里将JSunpack-n解析的网络包文件163.pcap文件下载到本地,并使用WireShark进行解析。解析结果例如以下:

实验结论:

从上面的实验中。主要可获得下面两个结果:

1.使用JSunpack-n不能解析TCPDump抓取的数据包文件里。上传文件的内容信息;

2.使用WireShark能够解析出TCPDump抓取的同一份数据包文件里,上传文件的内容信息。

从这一点。能够初步得到,使用JSunpack-n无法截获通过网络上传文件的结论。

JSunpack-n模拟WireShark拦截文件传输的更多相关文章

  1. Linux 上的常用文件传输方式介绍与比较

    ftp ftp 命令使用文件传输协议(File Transfer Protocol, FTP)在本地主机和远程主机之间或者在两个远程主机之间进行文件传输. FTP 协议允许数据在不同文件系统的主机之间 ...

  2. linux下常用文件传输命令 (转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  3. Linux上常用的文件传输方式以及比较

    tp ftp 命令使用文件传输协议(File Transfer Protocol, FTP)在本地主机和远程主机之间或者在两个远程主机之间进行文件传输. FTP 协议允许数据在不同文件系统的主机之间传 ...

  4. vsftpd-基于ftp协议的文件传输服务器软件

    第一部分:在Linux上部署vsftpd服务 1. vsftpd简介 1.1 vsftpd是什么? ftp(File Transfer Protocol)文件传输协议.(实现不同操作系统之间文件的传输 ...

  5. 搭建 Guacamole 并解决各种坑和创建不了虚拟驱动器导致无法实现文件传输的方法

    系统类型版本:centos7 64位 结果:最终跑通了项目并且实现了虚拟驱动器的文件传输功能,添加了中文支持 反思总结: 先查看官方文档的Q&A,找找有没有类似的错误,然后如果有错误日志或者现 ...

  6. linux下常用文件传输命令(转)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  7. wusir FTP与HTTP文件传输之TCP Packet解析

    向服务器传输文件(上传或下载)时,FTP与HTTP是两种最常用的应用层协议,这两个协议都是基于TCP协议之上.如果深入到数据包内(Packet)进行查看时,FTP与HTTP进行文件传输时有什么特征代码 ...

  8. curl基于URL的文件传输工具

    简介 cURL是一款开源的基于URL的文件传输工具,支持HTTP.HTTPS.FTP等协议,支持POST.cookie.认证.扩展头部.限速等特性. curl命令用途广泛,比如下载.发送http请求. ...

  9. 网络编程 - socket通信/粘包/文件传输/udp - 总结

    socket通信 1.简单的套接字通信 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bin ...

随机推荐

  1. SpringCloud学习笔记(18)----Spring Cloud Netflix之服务网关Zuul原理

    1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行.过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的.Requet ...

  2. 【AnjularJS系列2 】— 表单控件功能相关指令

    第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...

  3. js 将数组中的每一项安装奇偶重新组合成一个数组对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. json转换方法

    import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.ut ...

  5. NOIp2018模拟赛三十六

    好久没打模拟赛了...今天一样是两道国集,一道bzoj题 成绩:13+0+95=108 A题开始看错题了...导致样例都没看懂,结果xfz提醒我后我理解了一个我自认为正确的题意(事实证明我和xfz都错 ...

  6. 对同层数据进行处理,做成树状图形式的数据结构,并符合elementui中的tree结构

    //通过子级的pid找到父级对应的id,制作树状图 var data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: &qu ...

  7. mysql 基础函数语句

    1:查看当前登陆用户 select user(): 2:切换数据库 use mysql; 查看该表用户 select user,host from user; 4:退出数据库 5:查看数据库版本 se ...

  8. PHP JWT初识

    一直没有好好看过jwt,直到前两天要做web验证,朋友给我推荐了jwt.才发现jwt已经被大家广泛的应用了.看来我有点out了.哈哈,趁着这个世界来好好看看这个. JWT(JSON Web Token ...

  9. URAL 2027 2028 两个有趣的题

    这两个题,讲的是有一种奇怪的语言,代码是一种二维的矩阵. 前一个题,是根据所给的要求,写一个简单的解释器. 后一个题,是用那种语言写一个简单的小程序. 挺有意思的,所以在这里纪念一下.顺便那个语言的原 ...

  10. python list set dict的简单应用示例

    list.count(x):返回指定元素x在列表中出现的次数 set(list):将list类型变量转换为set类型,去除重复值 dick:保存键值对 x=[1,2,2,3,3] s1=set(x) ...