导语:

小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了。不如学习安卓逆向。
didi科学家:不好意思,抓包可以为所欲为。

其实学习抓包,完完全全和OD是一模一样的逻辑,尤其是封包逆向。使用OD需要知道jmp等指令是什么意思,而抓包也是一样的逻辑!

一、封包字段的含义
<ignore_js_op> 
如图所示,Fiddler的整个界面就是这样,那么这些字段究竟是什么意思呢?这里给大家说一下:
Result:HTTP状态码      
Protocol:请求使用的协议,如HTTP/HTTPS/FTP等
HOST:请求地址的主机名或域名
URL:请求资源的位置
Body:请求大小
Caching:请求的缓存过期时间或者缓存控制值
Content-Type:请求响应的类型
Process:发送此请求的进程ID
Comments:备注 
Custom:自定义值

二、Request区域
Request区域如图所示:
<ignore_js_op> 
那么每一个数据都是什么意思呢?
请求方式:GET/POST等 
协议: HTTP/1.1(通常都是这个)
1. Cache 头域
  if-Modified-since:缓存
  if-None-Match:可提高性能(在Response中添加ETag信息,客户端再次请求资源,Request中加入if-None-Match(ETag的值),服务器验证ETag,若没改变返回状态码304,有改变,返回状态码200)
  Pragma:防止页面被缓存
  Cache-Control:Response—Request遵循的缓存机制
  public:可以被任何缓存所缓存
  private:内容只缓存在私有缓存中
  no-cache:所有内容都不会被缓存
2. Client 头域
  User-Agent: 告知服务器客户端使用的操作系统与浏览器的名称和版本
  Accept: 浏览器端可以接受的媒体、文件类型
  Accept-Encoding: 指定压缩方法,是否支持压缩,支持什么压缩方法(gzip、deflate)
  Accept-Language: 浏览器申明自己的接收语言
  Accept-chareset:浏览器申明自己接收的字符集。如gb2312,UTF_8
3. Cookies 头域
  有的请求不发送Cookies,有的请求有Cookies。
  目的:将cookie值发送给服务器
4. Entity头域
  Content-Length:发送给HTTP服务器的数据长度
  Content-Type:决定文件接收方将以什么形式、什么编码读取此文件
5. Security 头域:
  Upgrade-Insecure-Requests: 1(默认,这个是自己协商的)
6. Transport 头域:
  Host: 发送请求时,该报头域是必需的。主要用于指定被请求资源的Internet主机和端口号,通常从HTTP URL 中提取出来
  Proxy-Connection: 当网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接是否关闭。keep-alive表示不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接;close表示关闭,客户端再次访问这个服务器上的网页,需要重新建立连接。
  connection:Keep—alive            TCP连接不会关闭
  connection:close                     一个Request完成后,TCP连接关闭
7. Miscellaneous头域
  Referer:提供了Request的上下文信息,告诉服务器我是从哪个链接过来的
  A------>B(B的服务器从Referer中统计有多少用户是从A过来的)

三、Response
Response如图所示:
<ignore_js_op> 
1. Cache头域
  Date:生成消息的具体时间和日期
  Expires:浏览器在指定过期时间内使用本地缓存
2. Cookie/Login头域
  P3P:用户跨域设置cookie,可以解决iframe跨域访问cookie的问题
  Set-Cookie:重要的header,用于把cookie发送到客户端浏览器,每一个写入cookie都会生成一个set-cookie
3. Entity头域
  ETag:与if-None-Match配合使用
  Last-Modified:用于指示资源的最后修改日期和时间
  Content-Type:Web服务器告知浏览器自己响应对象的类型和字符集
  Content-Length:指明实体正文长度,以字节方式存储的十进制数字表示。在数据下行中,要预先在服务器中缓存所有数据,然后所有数据一并发给客户端
  Content-Encoding:Web服务器表明自己用了什么压缩方式(gzip、deflate)压缩响应中的对象
  Content-Language:服务器告知浏览器自己响应的对象语言
4. Miscellaneous头域
  Server:指明HTTP服务器的软件信息
  X-Powered-By:表明网站是用什么技术开发的
  X-AspNet-Version:如果网站是用Asp/Net开发的,这个header用来表明Asp/Net的版本
5. Transport头域
  connection:Keep—alive            TCP连接不会关闭
  connection:close                     一个Request完成后,TCP连接关闭
6. Location头域
  Location:用于重定向一个新的位置,包括新的URL地址

四、HTTP认证过程
  1. 客户端发送HTTP Request给服务器;
  2. Request中未包含Authorization header,服务器会返回一个401错误给客户端,且在Response中的header“www-Authenticate”中添加信息;
  3. 客户端将用户名和密码以base64加密后,放在Authorization中发送给服务器,认证成功;
  4. 服务器将Authorization header中的用户名和密码去除,进行验证。如果验证通过,将根据请求发送资源给客户端;
  HTTP OAuth认证:OAuth对于http来说,就是放在Authorization header中的不是用户名密码,而是一个token(令牌)。
  客户端的使用:客户端若要跟“使用基本认证的网站”进行交互,将用户名密码加载Authorization header中即可。

五、Fiddler常见图标的含义
<ignore_js_op>

本文部分转载:https://www.cnblogs.com/Nick1994/p/8491631.html
另有部分是收集于网络。

预告:
1、下篇为所欲为教大家如何抓取直播源。
2、橙色直播手机版:口袋电视即将推出,以及绿色无广告,无购物频道~~~(年前发布哟)

[转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]的更多相关文章

  1. [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]

    今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...

  2. [转载] Fiddler为所欲为第二篇 像OD一样调试 [二]

    首先,如果大家没有看过第一篇,可以先看看第一篇,了解Fiddler script的脚本哦.传送门:https://www.52pojie.cn/thread-854434-1-1.html 导语:其实 ...

  3. <转载>Div+Css布局教程(-)CSS必备知识

    目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的 ...

  4. DWR第三篇之逆向Ajax升级

    1. 本示例在第二篇架构基础上添加代码 2.在client.jsp开头的地方添加如下代码: 本示例需要做的是定向推送,那么就需要浏览器进行登录,从而进行定向的推送功能,为了节省时间,这里不做登录模块了 ...

  5. (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...

  6. 分析RAC下一个SPFILE整合的三篇文章的文件更改

    大约RAC下一个spfile分析_整理在_2014.4.17 说明:文章来源于网络 第一篇:RAC下SPFILE文件改动 在RAC下spfile位置的改动与单节点环境不全然一致,有些地方须要特别注意, ...

  7. JDFS:一款分布式文件管理系统,第三篇(流式云存储)

    一 前言 看了一下,距离上一篇博客的发表已经过去了4个月,时间过得好快啊.本篇博客是JDFS系列的第三篇博客,JDFS的目的是为了实现一个分布式的文件管理系统,前两篇实现了基本的上传.下载功能,但是那 ...

  8. Java多线程编程实战指南(核心篇)读书笔记(三)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76686044冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...

  9. 第三篇——第二部分——第一文 SQL Server镜像简单介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/DBA_Huangzj/article/details/26951563 原文出处:http://bl ...

随机推荐

  1. vue版 文字滚动

    用法:<marque :text="bannerText"></marque> 下载

  2. An overnight dance in discotheque CodeForces - 814D (几何)

    大意: 给定n个不相交的圆, 求将n个圆划分成两部分, 使得阴影部分面积最大. 贪心, 考虑每个连通块, 最外层大圆分成一部分, 剩余分成一部分一定最优. #include <iostream& ...

  3. Python3爬虫系列:理论+实验+爬取妹子图实战

    Github: https://github.com/wangy8961/python3-concurrency-pics-02 ,欢迎star 爬虫系列: (1) 理论 Python3爬虫系列01 ...

  4. Java容器——List接口

    1. 定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2. 常用实现类 ArrayList:它为元素提供了下标,可以看作长度可变的数组,为顺序线性表. LinkedL ...

  5. node.js安装express模块应用服务框架

    1.创建工程文件夹case-04 2.在终端窗口进入文件夹目录,并输入:npm init,并一路回车,最后看到在case-04文件夹里自动生成了package.json 文件 3.打开vscode,进 ...

  6. Django 之 cookie和session

    一. Cookie 1.Cookie的由来 因为HTTP协议是无状态的,无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,也不会受前后请求响应情况直接影响.简 ...

  7. DMA 内存存取原理

    DMA直接内存存取原理 DMADMA直接内存存取原理是指外部设备不通过CPU而直接与系统内存交换数据的接口技术. 要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程 ...

  8. Java 访问限制符 在同一包中或在不同包中:使用类创建对象的权限 & 对象访问成员变量与方法的权限 & 继承的权限 & 深入理解protected权限

    一.实例成员与类成员 1. 当类的字节码被加载到内存, 类中类变量.类方法即被分配了相应内存空间.入口地址(所有对象共享). 2. 当该类创建对象后,类中实例变量被分配内存(不同对象的实例变量互不相同 ...

  9. 电脑小白和ta的小白电脑——Tomcat服务器

    配置web服务器tomcat,这里默认了已经配置JAVA开发环境↓ https://www.cnblogs.com/gifted35/p/9775112.html (一)下载tomcat 我安装的服务 ...

  10. java-js知识库之一——canvas绘制9*9乘法表

    不知不觉一年又要过去了,软件这一行入坑快两年了,一直不知道这两年干了些啥,也不知道自己到底会些什么,工作也是些简单的东西,谁都能做,对未来也是很茫然.今天和同事优化数据库,头都是懵的,很多东西都感觉似 ...