zoukankan      html  css  js  c++  java
  • http抓包实战之http协议初始、fiddler初识

    1、什么是http协议?

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

    HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

     
    以上比较官方哈哈哈~

    2、工作原理

    http协议的工作原理通俗来讲,其实我们打开浏览器,在地址中输入URL,就是我们常说的网址,然后就看到了对应的网页。原理是怎样的呢?

    实际上,当我们输入URL之后,浏览器就给web服务器一个请求,web服务器接收到了进行识别和处理,生成相应的http响应(HTTP response),然后再发送给浏览器,浏览器解析http响应中的HTML,这样我们就看到了网页,原理如下图所示。

    简而言之就是,浏览器是老公、服务器是老婆。

    老公说,老婆给我点零花钱,

    老婆听见了,听声音的确是自己家的老公,

    老婆听到了这个请求,想想是时候给了,

    就把钱给了老公,老公拿到了钱就可以开始花了,

    3、抓包工具fiddler介绍

    fiddler应该是这个星球上最强大最好用的web调试工具了,可谓是旷古烁今。神器也!

    他们记录所有客户端和服务器的http和https请求,允许你见识、设置断点、甚至修改输入输出数据

    可以理解为老婆和老公的管家,还兼职干了点小三的活儿哈哈哈哈哈

    4、fiddler的下载和安装

    官网直接下载、傻瓜式安装

    建议英文版、安装路径不要有中文

    5、fiddler基本界面

    最上面是主菜单、工具栏

    左边:会话列表

    右边分别是选项卡和功能面板

    右下是命令栏

    6、Inspectors选项卡

    Inspectors选项卡下可以查看http请求和http响应的报文结构,其中raw选项卡可以产看完整的消息,

    headers选项卡只能查看消息中的header

    7、web sessions列表

    会话列表,显示抓到的http数据包

    #:fiddler自动生成的ID

    Result:响应的状态码

    Protocol:使用的协议http或者https

    Host:服务器的主机名和端口号

    URL:路径

    Body:http响应的字节数

    Cashing:跟缓存相关的字段的值

    Content-type:响应Content-type的值

    Process:对应本地windows的进程

    8、fiddler如何设置开始捕获和停止抓包

    开始:打开fiddler就已经开始诛抓包

    结束:F12键结束

    9、http协议报文结构

    报文分为两个

    http请求报文和http响应报文

    http请求报文结构

    起始行

    首部

    主体

    http响应报文结构

    起始行

    首部

    主体

    总结:

    response和request结构基本一样,同样分为三部分;

    第一部分叫响应行,第二部分叫响应首部,第三部分是主体

    起始行:状态码和状态码消息

    首部:header

    主体:body

    注意:header和body之间有一个空行

    不明白的可以在fiddler和www.baidu.com之间慢慢研究,码字累!

    10、fiddler抓包原理

    fiddler是以代理服务器的形式存在的,代理地址为127.0.0.1,端口:8888,就是本机

    相当于在客户端和服务端设置了个收费站 (是不是很形象)

  • 相关阅读:
    P1158 导弹拦截
    麦基数(p1045)
    Django之路由层
    web应用与http协议
    Django之简介
    Mysql之表的查询
    Mysql之完整性约束
    Mysql之常用操作
    Mysql之数据类型
    Mysql之数据库简介
  • 原文地址:https://www.cnblogs.com/Max-Hao/p/10808731.html
Copyright © 2011-2022 走看看