HTTP的上传文件实例分析
这个是http文件传输的一种格式,当时不知道这种格式,废弃。
HTTP的上传文件实例分析
由于论坛不支持Word写文章发帖。
首先就是附件发送怎么搞,这个必须解决。论坛是php的。我用Chrome类浏览器跟踪请求,但是上传的文件流怎么发过去没找到,估计流可能多或者什么的不好显示,只知道发送了文件名字。需要实际了解下post文件,不能只会后台或界面不了解前台数据处理和协议怎么传送数据。
图中:有些相关文章 HTTP请求中的form data和request payload的区别 AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
Multipart/form-data POST文件上传详解 《RFC 1867 -Form-based File Upload in HTML》
结构和我曾经通过Smtp提交带有软件BUG附件的形式相似。。。有边界。。。
所以使用抓包工具,如WireShark。机器64位。Ip = 118.192.48.35.
WireShark过滤下好看。前两个是删除文件,后两个才是上传,可以看到有个GIF89a字样。
然后选择后两个其中一个右键菜单-选择Follow TCP Stream,做的事情就是TCP数据包重组。弹出对话框如下:
流的内容出现的顺序同他们在网络中出现的顺序一致。从A到B的通信标记为红色,从B到A的通信标记为蓝色。即请求request为红色,response为蓝色。
从中看出有两次完整来回交互,其中第二个才是文件流。
GIF89a.......^K..w............h......!..NETSCAPE2.0.....!...d...,..........&h..*0.%....1,...u..a...U.X.....f. *Mo$.!.......,...........XS....I. ....!.......,..............A.H...!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........XS....9..%..!.......,...........X.;.PEFk..!.......,...........X.V.....!.......,............U
..;
文件内容格式Content-Type为image/gif,然后是流数据(标头+回车换行(0x0d+0x0a)+文件二进制),这里ASCII展示了,不可打印字符为点号表示。
这里把选中内容直接复制出来到WinHex粘贴不行,复制到点号时就不行了。
需要点选Save As保存Raw形式文件,然后到winhex打开找到它。
步骤是Ctrl+F输入gif。
继续找到目标,然后选择目标内容,ODOA(出车换行)开始和结束,如图。
选中后就会一直选中,在任意位置右键保存到文件就可以dump出来了。文件为。
对于后面的html以gzip编码一样,步骤dump出来,保存为windows保存为zip后缀吧,这样直接rar打开。
至http解压出文件结束。
增强域名注册账户和DNS管理账户安全-防止域名被盗和域名恶意解析
站长故事:网站域名被盗的经历 http://www.williamlong.info/blog/archives/99.html
HTTP的上传文件实例分析的更多相关文章
- PHP+ajaxForm异步带进度条上传文件实例
在使用ajaxForm方法之前,首先需要安装form.js的插件,网上有: 一.首先说用法,ajaxForm可以接收0或1个参数,该参数可以是一个变量.一个对象或回调函数,这个对象主要有以下参数: v ...
- jQuery ajax上传文件实例
jQuery ajax上传文件实例 <form id="form" enctype="multipart/form-data"><input ...
- php 上传文件实例 上传并下载word文件
上传界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- JSP通过SmartUpload上传文件实例
httpRequest.setCharacterEncoding("gbk"); String preName = genName.doMake();//设置文件前缀名 Strin ...
- HttpClient 测试web API上传文件实例
1.使用HttpClient 测试上传文件并且设置header信息: using Lemon.Common; using Newtonsoft.Json; using System; using Sy ...
- jquery插件--ajaxfileupload.js上传文件原理分析
英文注解应该是原作者写的吧~说实话,有些if判断里的东西我也没太弄明白,但是大致思路还是OK的. jQuery.extend({ createUploadIframe: function (id, u ...
- php 上传文件实例 注册账号
注册界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- vue axios上传文件实例
<head> <title></title> <meta charset="UTF-8"> <meta name=" ...
- MVC 上传文件实例
http://www.cnblogs.com/leiOOlei/archive/2011/08/17/2143221.html
随机推荐
- 【04】在webstorm里Export declarations are not supported by current JavaScript version
[04]在webstorm里Export declarations are not supported by current JavaScript version Export declara ...
- luogu2569 [SCOI2010]股票交易
题解看这里 #include <iostream> #include <cstring> #include <cstdio> using namespace std ...
- strcat strcpy 源代码,用指针去实现
15. 指针实现 strcmp函数 • int newStrcpy(char *p, char *q) • { • while(*p ==*q) { ...
- AbstractFactory(抽象工厂模式)
AbstractFactory(抽象工厂模式) 有些情况下我们需要根据不同的选择逻辑提供不同的构造工厂,而对于多个工厂而言需要一个统一的抽象 <?php class Config { publi ...
- Python 打印嵌套list中每个数据(遍历列表)
new_list = ["H1","H2",1999] for each_list in new_list: print (each_list); 若列表中包含 ...
- Mahout0.9安装与配置(完全分布式模式下运行)
安装Mahout之前,一定要把hadoop装好,hadoop的安装方法可以参考我的前一篇随笔,我安装的是hadoop2.7.0,具体方法在此不做介绍. 1.首先下载相应版本的Mahout: axel ...
- BZOJ 2440 [中山市选2011]完全平方数 ——莫比乌斯函数
$\sum_{i=1}^n[i==d^2*p]$ 其中p无平方因子$=\sum_{d^2\mid n,d>=2}\sum_{i=1}^{\lfloor {n/d^2} \rfloor} \lef ...
- BZOJ4446 [Scoi2015]小凸玩密室 【树形Dp】
题目 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯 泡即可逃出密室.每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要花费,之后每点亮4 ...
- WEB学习-CSS基础选择器
基础选择器 标签选择器 就是标签的名字. • <h1>前端与移动开发<span>1期班</span>基础班</h1> css: • <style ...
- MySQL与MSSQL的一些语法差异(持续更新中)
分号不能少:分号不能少:分号不能少:重要的事情说3遍 Insert或者Update的数据包含反斜杠\的时候需要进行转义\\,例:insert into tablename(id,name) value ...